/*
Theme Name: Wenckebachfonds
Author: Maatwerk WordPress-thema
Description: Een toegankelijk, responsief Nederlandstalig WordPress-thema geïnspireerd op een klassieke blauwe fondsenwebsite. Met uitgebreide instellingen voor kleuren, header, menu, zoekfunctie, uitgelichte pagina's en zijbalk.
Version: 1.0.3
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: fondsstijl
Tags: blog, news, custom-logo, custom-colors, custom-menu, featured-images, right-sidebar, left-sidebar, theme-options, translation-ready
*/

:root {
  --fs-top: #001e34;
  --fs-header: #002a45;
  --fs-nav: #001f36;
  --fs-accent: #278ba9;
  --fs-slogan-color: #3b76bf;
  --fs-decor-opacity: .48;
  --fs-links: #2178c6;
  --fs-text: #313a42;
  --fs-headings: #236fba;
  --fs-surface: #ffffff;
  --fs-page: #f6f7f9;
  --fs-muted: #f0f5f9;
  --fs-border: #d6e0e7;
  --fs-footer: #00253d;
  --fs-max: 1530px;
  --fs-sidebar: 25%;
  --fs-font-size: 17px;
  --fs-title-size: 38px;
  --fs-logo-width: 500px;
  --fs-banner-height: 260px;
  --fs-radius: 0px;
  --fs-image-height: 260px;
  --fs-feature-column-gap: 24px;
  --fs-feature-row-gap: 30px;
  --fs-body-font: Arial, Helvetica, sans-serif;
  --fs-heading-font: 'Arial Narrow', 'Liberation Sans Narrow', Arial, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; background: var(--fs-page); color:var(--fs-text); font-family:var(--fs-body-font); font-size:var(--fs-font-size); line-height:1.65; }
body, button, input, textarea, select { font-family:var(--fs-body-font); }
button, input, textarea, select { font-size:inherit; }
a { color:var(--fs-links); text-decoration:none; }
a:hover, a:focus-visible { text-decoration:underline; }
button { cursor:pointer; }
img, svg { max-width:100%; }
img { height:auto; }
iframe { max-width:100%; }
p { margin:0 0 1.2em; }
h1,h2,h3,h4,h5,h6 { font-family:var(--fs-heading-font); line-height:1.25; font-weight:500; margin:0 0 .72em; color:var(--fs-headings); }
h1 { font-size:var(--fs-title-size); }
h2 { font-size:clamp(26px,2vw,32px); }
h3 { font-size:25px; }
h4 { font-size:22px; }
ul,ol { padding-left:1.45em; }
blockquote { border-left:5px solid var(--fs-accent); margin:1.6em 0; padding:.45em 1.2em; background:var(--fs-muted); }
:focus-visible { outline:3px solid var(--fs-accent); outline-offset:3px; }
.screen-reader-text { position:absolute!important;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;overflow:hidden;white-space:nowrap; }
.screen-reader-text:focus { clip:auto;clip-path:none;height:auto;width:auto;top:5px;left:5px;background:white;z-index:10000;padding:10px; }
.site-wrap { width:calc(100% - 54px); max-width:var(--fs-max); margin-inline:auto; }
/* Topstrook en kop */
.site-topbar { background:var(--fs-top); color:#fff; font-size:14px; font-weight:700; min-height:36px; }
.topbar-inner { display:flex; align-items:center; min-height:36px; justify-content:space-between; gap:18px; padding:5px 20px; }
.site-topbar a { color:#fff; }
.topbar-menu { display:flex; gap:22px; list-style:none; padding:0; margin:0; }
.site-brand-hero { position:relative; min-height:var(--fs-banner-height); background:var(--fs-header); color:#f5fbff; isolation:isolate; overflow:hidden; }
.site-brand-hero::before { content:''; position:absolute; inset:-180px -60px auto auto; height:520px; width:520px; border-radius:50%; border:65px solid rgba(9,111,150,.08); z-index:-1; }
.site-brand-hero::after { content:''; position:absolute; inset:auto 12% -170px auto; height:280px; width:280px; border:52px solid rgba(9,111,150,.06); border-radius:50%; z-index:-1; }
.hero-inner { position:relative; min-height:var(--fs-banner-height); padding:31px 20px 30px; display:flex; align-items:flex-start; flex-direction:column; justify-content:space-between; gap:8px; }
.header-decor { position:absolute; z-index:-1; right:3%; top:8%; width:min(25vw,340px); max-height:90%; object-fit:contain; object-position:right center; opacity:var(--fs-decor-opacity); pointer-events:none; }
.header-decor.is-default { width:min(29vw,440px); max-height:100%; height:100%; right:-2%; top:0; object-position:right center; opacity:1; }
.brand-row { display:flex; align-items:center; gap:17px; min-height:125px; max-width:78%; }
.custom-logo-link { display:inline-flex; align-items:center; }
.custom-logo { display:block; height:auto; width:auto; max-height:127px; max-width:var(--fs-logo-width); }
.brand-fallback { display:flex; gap:16px; align-items:center; color:#8ebbd8; }
.brand-emblem { width:112px; height:112px; border-radius:50%; flex:0 0 112px; background:radial-gradient(circle at 43% 45%,#4486c0 0 20%,#fff 21% 30%,#d6d6d6 31% 65%,#bababa 66% 100%); border:1px solid rgba(255,255,255,.12); box-shadow:0 1px 0 rgba(255,255,255,.12); }
.brand-copy { display:flex; flex-direction:column; line-height:1.05; }
.brand-small { text-transform:uppercase; font-size:clamp(13px,1.5vw,20px); letter-spacing:.17em; color:#b8d1db; }
.brand-title { font-weight:700; font-size:clamp(27px,3vw,44px); color:#5d9ad0; line-height:1.1; }
.brand-title:hover { color:#c5e4f9; }
.slogan-wrap { position:relative; z-index:1; width:100%; }
.slogan-line { width:min(570px, 53%); height:6px; background: #bac3cc; margin:0 0 8px; }
.site-slogan { margin:0; font-family:var(--fs-heading-font); font-size:clamp(25px,3.1vw,48px); line-height:1.11; font-weight:700; color:var(--fs-slogan-color); text-wrap:balance; }
/* Hoofdnavigatie */
.site-nav { background:var(--fs-nav); color:#f0f5f8; min-height:55px; position:relative; z-index:20; }
.site-nav.is-sticky { position:sticky; top:0; }
body.admin-bar .site-nav.is-sticky { top:32px; }
.nav-inner { display:flex; align-items:center; gap:13px; min-height:55px; padding:0 20px; }
.home-link { color:#d0d5d7; line-height:0; padding:4px 12px 4px 10px; display:inline-flex; align-items:center; justify-content:center; }
.home-link svg { width:36px; height:36px; fill:currentColor; }
.home-link:hover { color:#fff; }
.primary-navigation { flex:1; min-width:0; }
.primary-navigation > ul, .primary-navigation .menu { list-style:none; display:flex; align-items:center; gap:1px; margin:0; padding:0; }
.primary-navigation li { position:relative; }
.primary-navigation a { color:#edf4f8; display:block; padding:16px 13px; font-size:16px; line-height:1.4; }
.primary-navigation a:hover, .primary-navigation a:focus-visible, .primary-navigation .current-menu-item > a { background:rgba(255,255,255,.12); text-decoration:none; }
.primary-navigation .sub-menu, .primary-navigation .children { position:absolute; z-index:50; top:100%; left:0; min-width:215px; display:none; background:var(--fs-nav); box-shadow:0 8px 18px #0003; padding:5px; flex-direction:column; align-items:stretch; }
.primary-navigation li:hover > .sub-menu, .primary-navigation li:focus-within > .sub-menu, .primary-navigation li:hover > .children, .primary-navigation li:focus-within > .children { display:block; }
.primary-navigation .sub-menu .sub-menu, .primary-navigation .children .children { left:100%; top:0; }
.primary-navigation .sub-menu a, .primary-navigation .children a { padding:10px 13px; }
.nav-search { position:relative; margin-left:auto; white-space:nowrap; }
.search-toggle { background:transparent; border:0; color:#e8eef2; display:inline-flex; align-items:center; gap:7px; padding:14px 0 14px 12px; font-size:16px; font-weight:600; }
.search-toggle svg { width:21px; height:21px; }
.search-arrow { font-size:25px; line-height:0; }
.search-toggle:hover { color:white; }
.search-dropdown { background:#fff; box-shadow:0 9px 25px #00152445; border-top:4px solid var(--fs-accent); padding:14px; position:absolute; right:0; top:100%; width:min(350px,calc(100vw - 45px)); z-index:80; }
.search-dropdown[hidden] { display:none!important; }
.search-form { display:flex; width:100%; }
.search-form label { flex:1; min-width:0; }
.search-field { border:1px solid #b7c9d5; background:#fff; color:#172b39; border-radius:var(--fs-radius) 0 0 var(--fs-radius); padding:10px 12px; width:100%; height:44px; min-width:0; }
.search-submit { background:var(--fs-links); border:0; color:white; padding:7px 13px; border-radius:0 var(--fs-radius) var(--fs-radius) 0; }
.search-submit svg { width:21px; height:21px; display:block; }
.menu-toggle { border:1px solid #8195a5; color:white; display:none; align-items:center; gap:6px; background:transparent; border-radius:4px; padding:6px 10px; }
.menu-toggle svg { width:22px; height:22px; }
/* Hoofdinhoud */
.site-content { background:var(--fs-surface); min-height:45vh; }
.content-inner { padding:45px 20px 72px; }
.content-layout { display:flex; gap:clamp(40px,5vw,82px); align-items:flex-start; }
.content-main { min-width:0; flex:1 1 auto; }
.content-sidebar { flex:0 0 var(--fs-sidebar); min-width:245px; }
.layout-sidebar-left .content-sidebar { order:-1; }
.layout-no-sidebar .content-sidebar { display:none; }
.page-title, .archive-title { margin:0 0 48px; font-size:var(--fs-title-size); font-weight:400; }
.front-intro .page-title { margin-bottom:53px; }
/* Uitgelichte items */
.featured-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); column-gap:var(--fs-feature-column-gap); row-gap:var(--fs-feature-row-gap); margin:0 0 45px; }
.featured-grid.is-even { grid-template-columns:repeat(2,minmax(0,1fr)); }
.featured-grid.is-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.featured-grid.is-four { grid-template-columns:minmax(0,1fr) minmax(0,2fr); }
.featured-grid.is-one { grid-template-columns:1fr; }
.feature-card { min-width:0; text-align:center; }
.feature-card-title { font-size:clamp(21px,1.8vw,27px); font-weight:400; line-height:1.25; margin:0 0 16px; color:var(--fs-headings); min-height:34px; }
.feature-card-title a, .feature-caption a { color:var(--fs-headings); }
.feature-media { display:block; height:var(--fs-image-height); background:linear-gradient(125deg,#e8edf0,#cedae0); overflow:hidden; position:relative; }
.feature-media img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease; }
.feature-media:hover img { transform:scale(1.04); }
.feature-media.is-placeholder::after { content:''; display:block; position:absolute; width:150px; height:150px; border-radius:50%; background:rgba(39,139,169,.15); top:18%; left:calc(50% - 75px); box-shadow:56px 24px 0 25px rgba(33,120,198,.08); }
.feature-caption { margin:13px 0 0; color:var(--fs-headings); font-size:clamp(20px,1.85vw,28px); line-height:1.25; }
.feature-summary { margin:15px 0 0; text-align:left; line-height:1.6; }
.feature-card:hover .feature-card-title a, .feature-card:hover .feature-caption a { text-decoration:underline; }
.intro-content { font-size:17px; line-height:1.78; margin-top:32px; }
.intro-content p { margin-bottom:1.2em; }
.section-heading { border-bottom:1px solid var(--fs-border); padding-bottom:10px; margin:30px 0 22px; }
/* Sidebar */
.sidebar-widget { margin:22px 0 50px; }
.sidebar-widget:first-child { margin-top:22px; }
.sidebar-widget-title, .widget-title { font-family:var(--fs-heading-font); font-size:23px; text-transform:uppercase; font-weight:700; color:var(--fs-headings); border-bottom:1px solid var(--fs-border); line-height:1.2; margin:0 0 20px; padding:0 0 9px 27px; position:relative; }
.sidebar-widget-title::before, .content-sidebar .widget-title::before { content:'◉'; position:absolute; left:0; top:0; font-size:20px; color:#5696c4; }
.sidebar-widget ul, .content-sidebar .widget ul { padding:0 0 0 28px; list-style:none; margin:0; }
.sidebar-widget li, .content-sidebar .widget li { margin:0 0 11px; line-height:1.6; }
.content-sidebar .widget { margin:20px 0 50px; }
.content-sidebar .widget a { color:#0872c8; }
/* Berichten en pagina's */
.entry-title { font-weight:500; }
.post-card { padding:25px 0; border-bottom:1px solid var(--fs-border); display:grid; grid-template-columns:minmax(140px,235px) minmax(0,1fr); gap:25px; }
.post-card:first-child { padding-top:0; }
.post-card.no-thumbnail { grid-template-columns:1fr; }
.post-card-thumb { display:block; aspect-ratio:4/3; background:var(--fs-muted); overflow:hidden; }
.post-card-thumb img { width:100%;height:100%;object-fit:cover; }
.post-card .entry-title { font-size:26px; margin:0 0 8px; }
.post-meta { font-size:14px; color:#657584; margin-bottom:15px; }
.post-meta a { color:#657584; }
.post-excerpt p { margin:0; }
.entry-featured-image { width:100%; margin:0 0 28px; }
.entry-featured-image img { width:100%; height:auto; display:block; }
.entry-content { overflow-wrap:break-word; }
.entry-content h2 { margin-top:1.4em; }
.entry-content table { border-collapse:collapse; width:100%; }
.entry-content th,.entry-content td { border:1px solid var(--fs-border); padding:9px; }
.entry-content .alignwide { max-width:110%; }
.entry-content .alignleft { float:left; margin:0 1.5em 1em 0; }
.entry-content .alignright { float:right; margin:0 0 1em 1.5em; }
.entry-content .aligncenter { margin-left:auto; margin-right:auto; display:block; }
.wp-block-image img { height:auto; }
.wp-caption { max-width:100%; }
.wp-caption-text,.gallery-caption { font-size:14px; color:#667; }
.sticky .entry-title::after { content:'★'; font-size:15px; vertical-align:top; margin-left:6px; color:var(--fs-accent); }
.pagination, .posts-navigation, .post-navigation { margin:30px 0 5px; }
.nav-links { display:flex; flex-wrap:wrap; gap:10px; }
.page-numbers, .nav-previous a,.nav-next a { display:inline-block; padding:8px 13px; border:1px solid var(--fs-border); }
.page-numbers.current { background:var(--fs-links);color:white;border-color:var(--fs-links); }
.entry-footer { border-top:1px solid var(--fs-border); margin-top:30px; padding-top:18px; font-size:14px; }
.breadcrumbs { font-size:14px; color:#667; margin-bottom:20px; }
.breadcrumbs a { color:var(--fs-links); }
.search-result-header { margin-bottom:35px; }
.not-found { background:var(--fs-muted); padding:30px; }
/* Footer */
.site-footer { background:var(--fs-footer); color:#d8e5ef; }
.footer-widgets { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; padding:40px 20px 18px; }
.footer-widgets .widget { margin-bottom:25px; }
.footer-widgets .widget-title { color:#dce9f2; border-color:#395b70; }
.footer-widgets a, .site-footer a { color:#d5e9fa; }
.footer-bottom { padding:19px 20px 25px; border-top:1px solid rgba(255,255,255,.12); font-size:14px; display:flex; gap:15px; justify-content:space-between; align-items:center; }
.footer-bottom p { margin:0; }
.back-to-top { border:1px solid #9baebc; background:transparent; color:#fff; font-size:14px; padding:6px 12px; }
/* Responsief */
@media(max-width:1060px) {
 .content-layout { gap:35px; }
 .content-sidebar { flex-basis:29%; min-width:210px; }
 .feature-media { height:235px; }
 .primary-navigation a { padding:16px 9px; font-size:15px; }
}
@media(max-width:800px) {
 .site-wrap { width:calc(100% - 30px); }
 .topbar-inner,.hero-inner,.nav-inner,.content-inner,.footer-bottom { padding-left:12px; padding-right:12px; }
 .site-brand-hero,.hero-inner { min-height:205px; }
 .hero-inner { padding-top:24px; padding-bottom:25px; }
 .brand-row { min-height:80px; max-width:100%; }
 .brand-emblem { width:75px;height:75px;flex-basis:75px; }
 .custom-logo { max-height:90px; }
 .site-slogan { font-size:clamp(23px,4.4vw,36px); }
 .slogan-line { height:4px; }
 .header-decor { opacity:.22; width:44vw; }
 .header-decor.is-default { opacity:.38; width:45vw; right:-2%; }
 .menu-toggle { display:inline-flex; }
 .nav-inner { flex-wrap:wrap; min-height:54px; }
 .primary-navigation { display:none; flex-basis:100%; order:4; padding-bottom:10px; }
 .primary-navigation.is-open { display:block; }
 .primary-navigation > ul, .primary-navigation .menu { flex-direction:column; align-items:stretch; }
 .primary-navigation a { padding:12px 10px; }
 .primary-navigation .sub-menu, .primary-navigation .children { display:block; position:static; min-width:0; box-shadow:none; margin-left:14px; padding-left:10px; border-left:1px solid rgba(255,255,255,.35); }
 .content-layout { flex-direction:column; gap:24px; }
 .content-main,.content-sidebar { flex:auto; width:100%; }
 .layout-sidebar-left .content-sidebar { order:1; }
 .content-inner { padding-top:35px; padding-bottom:45px; }
 .front-intro .page-title { margin-bottom:35px; }
 .sidebar-widget { margin-bottom:30px; }
}
@media(max-width:560px) {
 .site-wrap { width:100%; }
 .topbar-inner { padding:5px 16px; }
 .topbar-menu { display:none; }
 .brand-emblem { width:60px; height:60px; flex-basis:60px; }
 .brand-title { font-size:24px; }
 .brand-small { font-size:12px; }
 .hero-inner { min-height:190px; padding:18px 16px 22px; }
 .site-brand-hero { min-height:190px; }
 .custom-logo { max-width:min(78vw,var(--fs-logo-width)); max-height:78px; }
 .site-slogan { font-size:clamp(22px,5.6vw,29px); }
 .header-decor.is-default { opacity:.18; width:65vw; }
 .slogan-line { width:58%; }
 .nav-inner { padding:0 12px; gap:4px; }
 .home-link { padding:6px; }
 .home-link svg { width:30px;height:30px; }
 .search-toggle { font-size:14px; }
 .search-arrow { display:none; }
 .content-inner { padding:28px 17px 42px; }
 .page-title { font-size:clamp(29px,7vw,38px); margin-bottom:25px; }
 .featured-grid,.featured-grid.is-even,.featured-grid.is-three,.featured-grid.is-four { display:grid; grid-template-columns:1fr; column-gap:var(--fs-feature-column-gap); row-gap:var(--fs-feature-row-gap); }
 .feature-media { height:240px; }
 .feature-card-title { min-height:0; margin-bottom:10px; }
 .feature-caption { margin-top:9px; }
 .post-card { grid-template-columns:1fr; gap:14px; }
 .post-card-thumb { max-height:240px; }
 .footer-widgets { grid-template-columns:1fr; gap:10px; padding:30px 17px; }
 .footer-bottom { padding:17px; }
}
@media(max-width:782px) { body.admin-bar .site-nav.is-sticky { top:46px; } }
@media(max-width:600px) { body.admin-bar .site-nav.is-sticky { top:0; } }
@media(prefers-reduced-motion: reduce) { *, *::before, *::after { transition-duration:0.001ms!important; animation-duration:0.001ms!important; scroll-behavior:auto!important; } }
