:root{
  --fg-primary:#C20025;
  --fg-primary-dark:#94001c;
  --fg-primary-tint:#fdeaec;
  --fg-gold:#c98b2e;
  --fg-background:#ffffff;
  --fg-surface:#f7f6f4;
  --fg-surface-2:#f0eeea;
  --fg-text:#12100f;
  --fg-text-soft:#5c5852;
  --fg-text-muted:#8a857c;
  --fg-border:#e7e3dc;
  --fg-success:#15803d;
  --fg-success-bg:#dcfce7;
  --fg-warning:#92400e;
  --fg-warning-bg:#fef3c7;
  --fg-danger:#b91c1c;
  --fg-danger-bg:#fee2e2;
  --radius-sm:8px;
  --radius-md:16px;
  --radius-lg:24px;
  --shadow-card:0 1px 2px rgba(20,16,10,.04), 0 8px 24px rgba(20,16,10,.06);
}
[data-theme="dark"]{
  --fg-background:#121110;
  --fg-surface:#1a1817;
  --fg-surface-2:#211f1d;
  --fg-text:#f5f3ef;
  --fg-text-soft:#c9c4bb;
  --fg-text-muted:#8c877e;
  --fg-border:#2c2a27;
  --fg-primary-tint:#2a1216;
  --fg-success-bg:#0f2b1a;
  --fg-warning-bg:#2e2308;
  --fg-danger-bg:#2c1414;
  --shadow-card:0 1px 2px rgba(0,0,0,.3), 0 8px 24px rgba(0,0,0,.35);
}
.fg-page *{box-sizing:border-box;}
.fg-page{font-family:'Plus Jakarta Sans',system-ui,sans-serif;color:var(--fg-text);-webkit-font-smoothing:antialiased;overflow-x:hidden;}
.fg-page img{display:block;max-width:100%;}
.fg-page a{color:inherit;text-decoration:none;}
.fg-wrap{max-width:1290px;margin:0 auto;padding:0 20px;}
@media(min-width:1332px){.fg-wrap{padding:0;}}

/* ---- Contactpagina: e-mail op één lijn + WPForms in darkmodus ---- */
.fg-page .contact-info-row a{white-space:nowrap;overflow-wrap:normal;word-break:normal;}
.fg-page .wpforms-container,.fg-page .wpforms-form{color:var(--fg-text);}
.fg-page .wpforms-field-label,.fg-page .wpforms-field label,.fg-page .wpforms-field-sublabel,.fg-page .wpforms-field-description,.fg-page .wpforms-form .wpforms-field-label-inline{color:var(--fg-text) !important;}
.fg-page .wpforms-field-description,.fg-page .wpforms-field-sublabel{color:var(--fg-text-muted) !important;}
.fg-page .wpforms-field input[type=text],.fg-page .wpforms-field input[type=email],.fg-page .wpforms-field input[type=tel],.fg-page .wpforms-field input[type=url],.fg-page .wpforms-field input[type=number],.fg-page .wpforms-field textarea,.fg-page .wpforms-field select{background:var(--fg-background) !important;border:1px solid var(--fg-border) !important;color:var(--fg-text) !important;border-radius:var(--radius-sm) !important;}
.fg-page .wpforms-field input::placeholder,.fg-page .wpforms-field textarea::placeholder{color:var(--fg-text-muted) !important;}
.fg-page .wpforms-field input:focus,.fg-page .wpforms-field textarea:focus,.fg-page .wpforms-field select:focus{border-color:var(--fg-primary) !important;outline:2px solid var(--fg-primary) !important;outline-offset:1px;}
.fg-page .wpforms-submit,.fg-page button.wpforms-submit{background:var(--fg-primary) !important;color:#fff !important;border:none !important;border-radius:999px !important;padding:13px 28px !important;font-weight:700 !important;font-family:inherit !important;font-size:14.5px !important;cursor:pointer;transition:background .15s ease;}
.fg-page .wpforms-submit:hover,.fg-page button.wpforms-submit:hover{background:var(--fg-primary-dark) !important;}
/* Contactpagina zonder sidebar: formulier vol breed, geen kader */
.fg-page .contact-single{display:block;padding:48px 0 80px;}
.fg-page .contact-single .contact-card{background:transparent;border:none;box-shadow:none;padding:0;max-width:100%;}
.fg-page h1,.fg-page h2,.fg-page h3{font-family:'Fraunces',serif;font-weight:600;line-height:1.1;letter-spacing:-.01em;color:var(--fg-text);}
.fg-page h4,.fg-page h5,.fg-page h6{color:var(--fg-text);}
.fg-page .eyebrow{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-primary);}
.fg-page .btn{padding:10px 20px;border-radius:999px;font-size:14px;font-weight:600;border:1px solid var(--fg-border);background:var(--fg-surface);cursor:pointer;color:var(--fg-text);display:inline-flex;align-items:center;gap:6px;}
.fg-page .btn-primary{background:var(--fg-primary);color:#fff;border-color:var(--fg-primary);}
.fg-page .btn-primary:hover{background:var(--fg-primary-dark);}

.fg-page .hero{position:relative;padding:96px 0 90px;overflow:hidden;width:auto;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);background:radial-gradient(circle at 15% 20%, color-mix(in srgb, var(--fg-primary) 18%, transparent), transparent 55%),radial-gradient(circle at 85% 0%, color-mix(in srgb, var(--fg-gold) 20%, transparent), transparent 50%),var(--fg-surface);text-align:center;}
.fg-page .hero h1{font-size:clamp(38px,6vw,64px);max-width:900px;margin:0 auto 18px;}
.fg-page .hero p{font-size:18px;color:var(--fg-text-soft);max-width:560px;margin:0 auto 40px;}
.fg-page .hero .fg-wrap{position:relative;z-index:1;}
.fg-page .sparkle-field{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;transition:transform .3s ease-out;will-change:transform;}
.fg-page .hero-glow{position:absolute;top:0;left:0;width:460px;height:460px;margin:-230px 0 0 -230px;border-radius:50%;pointer-events:none;z-index:0;opacity:0;background:radial-gradient(circle, color-mix(in srgb, var(--fg-primary) 28%, transparent) 0%, transparent 68%);mix-blend-mode:screen;transition:opacity .5s ease;will-change:transform;}
.fg-page .hero:hover .hero-glow{opacity:.9;}
.fg-page .spark{position:absolute;border-radius:50%;opacity:0;background:radial-gradient(circle, color-mix(in srgb, var(--fg-gold) 92%, #fff) 0%, transparent 72%);animation:fg-twinkle var(--dur,4.5s) ease-in-out infinite;animation-delay:var(--delay,0s);}
.fg-page .spark.alt{background:radial-gradient(circle, color-mix(in srgb, var(--fg-primary) 88%, #fff) 0%, transparent 72%);}
.fg-page .spark.mid{background:radial-gradient(circle, color-mix(in srgb, var(--fg-primary) 55%, var(--fg-gold)) 0%, transparent 72%);}
@keyframes fg-twinkle{0%,100%{opacity:0;transform:translateY(8px) scale(.3);}50%{opacity:var(--peak,.9);transform:translateY(-4px) scale(1);}}
@media (prefers-reduced-motion: reduce){.fg-page .spark{animation:none;opacity:.35;}}
.fg-page .searchbar{max-width:720px;margin:0 auto;display:flex;align-items:center;gap:10px;background:var(--fg-background);border:1px solid var(--fg-border);border-radius:999px;padding:8px 8px 8px 22px;box-shadow:var(--shadow-card);}
.fg-page .searchbar input{flex:1;border:none;outline:none;background:transparent;font-size:15px;color:var(--fg-text);font-family:inherit;}
.fg-page .searchbar input::placeholder{color:var(--fg-text-muted);}
.fg-page .searchbar button{background:var(--fg-primary);color:#fff;border:none;padding:13px 26px;border-radius:999px;font-size:14.5px;font-weight:600;cursor:pointer;white-space:nowrap;}
.fg-page .searchbar button:hover{background:var(--fg-primary-dark);}
.fg-page .quick-filters{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:26px;}
.fg-page .pill{padding:9px 18px;border-radius:999px;border:1px solid var(--fg-border);background:var(--fg-background);font-size:13.5px;font-weight:600;cursor:pointer;color:var(--fg-text-soft);display:inline-block;}
.fg-page .pill.active,.fg-page .pill:hover{background:var(--fg-text);color:var(--fg-background);border-color:var(--fg-text);}

.fg-page .page-header{padding:44px 0 34px;background:var(--fg-surface);border-bottom:1px solid var(--fg-border);}
.fg-page .page-header h1{font-size:32px;margin-bottom:6px;}
.fg-page .page-header .sub{color:var(--fg-text-soft);font-size:15px;}
.fg-page .page-header .searchbar{margin:22px 0 0;max-width:640px;}

.fg-page section.block{padding:64px 0;}
.fg-page .block-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:28px;gap:16px;}
.fg-page .block-head h2{font-size:28px;}
.fg-page .block-head .see-all{font-size:14px;font-weight:600;color:var(--fg-primary);white-space:nowrap;}

.fg-page .card-row,.fg-page .ev-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.fg-page .ev-grid{grid-template-columns:repeat(3,1fr);}
@media(max-width:1080px){.fg-page .card-row{grid-template-columns:repeat(2,1fr);}.fg-page .ev-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){
	.fg-page .card-row,.fg-page .ev-grid{grid-template-columns:repeat(2,1fr);gap:10px;}
	.fg-page .event-body{padding:10px 10px 12px;}
	.fg-page .event-body h3{font-size:13.5px;margin-bottom:4px;}
	.fg-page .event-meta{font-size:11px;margin-bottom:6px;}
	.fg-page .event-price{font-size:12.5px;}
	.fg-page .date-badge{padding:4px 7px;top:8px;left:8px;}
	.fg-page .date-badge .d{font-size:13px;}
	.fg-page .date-badge .m{font-size:8.5px;}
	.fg-page .fav-btn{width:28px;height:28px;font-size:13px;top:8px;right:8px;}
	.fg-page .type-tag{font-size:9.5px;padding:4px 8px;bottom:8px;left:8px;}
}
@media(max-width:360px){.fg-page .card-row,.fg-page .ev-grid{grid-template-columns:1fr;}}
.fg-page .event-card{border-radius:var(--radius-md);overflow:hidden;background:var(--fg-background);border:1px solid var(--fg-border);box-shadow:var(--shadow-card);transition:transform .2s ease;display:block;}
.fg-page .event-card:hover{transform:translateY(-4px);}
.fg-page .event-media{position:relative;aspect-ratio:4/3;background:var(--fg-surface-2);overflow:hidden;}
.fg-page .event-media img{width:100%;height:100%;object-fit:cover;}
.fg-page .date-badge{position:absolute;top:12px;left:12px;background:var(--fg-background);border-radius:10px;padding:6px 10px;text-align:center;line-height:1.1;box-shadow:var(--shadow-card);}
.fg-page .date-badge .d{font-size:16px;font-weight:800;color:var(--fg-primary);}
.fg-page .date-badge .m{font-size:10px;font-weight:700;text-transform:uppercase;color:var(--fg-text-muted);}
.fg-page .fav-btn{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:50%;background:rgba(20,16,10,.35);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;cursor:pointer;border:none;z-index:2;}
.fg-page .fav-btn.active{background:var(--fg-primary);}
.fg-page .type-tag{position:absolute;bottom:12px;left:12px;background:rgba(20,16,10,.55);color:#fff;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:5px 10px;border-radius:999px;backdrop-filter:blur(4px);}
.fg-page .event-body{padding:16px 16px 18px;}
.fg-page .event-body h3{font-size:16.5px;font-weight:700;font-family:'Plus Jakarta Sans',sans-serif;margin-bottom:6px;line-height:1.3;}
.fg-page .event-meta{font-size:13px;color:var(--fg-text-muted);display:flex;align-items:center;gap:6px;margin-bottom:10px;}
.fg-page .event-price{font-size:14px;font-weight:700;color:var(--fg-text);}
.fg-page .event-price small{font-weight:500;color:var(--fg-text-muted);}

.fg-page .cat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;}
@media(max-width:900px){.fg-page .cat-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:560px){.fg-page .cat-grid{grid-template-columns:repeat(2,1fr);}}
.fg-page .cat-tile{border-radius:var(--radius-md);background:var(--fg-surface);border:1px solid var(--fg-border);padding:22px 16px;text-align:center;cursor:pointer;display:block;}
.fg-page .cat-tile:hover{background:var(--fg-primary-tint);border-color:var(--fg-primary);}
.fg-page .cat-tile .ico{font-size:26px;margin-bottom:10px;}
.fg-page .cat-tile span{font-size:13.5px;font-weight:600;}

.fg-page .city-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;}
.fg-page .city-chip{display:flex;align-items:center;gap:10px;padding:12px 20px;border-radius:999px;background:var(--fg-surface);border:1px solid var(--fg-border);font-size:14px;font-weight:600;cursor:pointer;}
.fg-page .city-chip:hover{background:var(--fg-surface-2);}
.fg-page .city-chip .count{color:var(--fg-text-muted);font-weight:500;font-size:12.5px;}

.fg-page .fest-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media(max-width:900px){.fg-page .fest-row{grid-template-columns:1fr;}}
.fg-page .fest-card{position:relative;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:16/10;display:block;}
.fg-page .fest-card img{width:100%;height:100%;object-fit:cover;}
.fg-page .fest-card .overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(10,8,6,.85));display:flex;flex-direction:column;justify-content:flex-end;padding:20px;color:#fff;}
.fg-page .fest-card .overlay .badge{align-self:flex-start;background:var(--fg-primary);font-size:11px;font-weight:700;text-transform:uppercase;padding:4px 10px;border-radius:999px;margin-bottom:10px;}
.fg-page .fest-card .overlay h3{font-family:'Plus Jakarta Sans',sans-serif;font-size:19px;font-weight:700;margin-bottom:4px;color:#fff;}
.fg-page .fest-card .overlay p{font-size:13px;opacity:.85;}

.fg-page .nearby-banner{border-radius:var(--radius-lg);background:linear-gradient(120deg,var(--fg-primary),var(--fg-primary-dark));color:#fff;padding:40px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.fg-page .nearby-banner h2{color:#fff;font-size:26px;margin-bottom:8px;}
.fg-page .nearby-banner p{opacity:.9;font-size:14.5px;}
.fg-page .nearby-banner .btn{background:#fff;color:var(--fg-primary);border:none;}

.fg-page .seo-block{color:var(--fg-text-soft);font-size:14.5px;line-height:1.8;border-top:1px solid var(--fg-border);padding-top:48px;}
.fg-page .seo-block h2{font-size:20px;color:var(--fg-text);margin-bottom:14px;}
.fg-page .seo-block p{margin-bottom:14px;max-width:900px;}

.fg-page .ev-layout{display:grid;grid-template-columns:250px 1fr;gap:36px;padding:40px 0 80px;align-items:start;}
@media(max-width:900px){.fg-page .ev-layout{grid-template-columns:1fr;}}
.fg-page .filters{position:sticky;top:96px;}
.fg-page .filter-group{margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid var(--fg-border);}
.fg-page .filter-group:last-child{border-bottom:none;}
.fg-page .filter-group h4{font-size:12.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--fg-text-muted);margin-bottom:10px;font-weight:700;}
.fg-page .filter-options{display:flex;flex-wrap:wrap;gap:8px;}
.fg-page .filter-check{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--fg-text-soft);cursor:pointer;margin:0;padding:6px 12px;border-radius:999px;border:1px solid var(--fg-border);background:var(--fg-background);white-space:nowrap;transition:border-color .15s ease,background .15s ease,color .15s ease;}
.fg-page .filter-check:hover{border-color:var(--fg-primary);}
.fg-page .filter-check input{accent-color:var(--fg-primary);width:13px;height:13px;flex-shrink:0;}
.fg-page .filter-check:has(input:checked){background:var(--fg-primary-tint);border-color:var(--fg-primary);color:var(--fg-primary);font-weight:600;}
.fg-page .toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:12px;}
.fg-page .toolbar .count{font-size:14px;color:var(--fg-text-muted);}
.fg-page .toolbar-actions{display:flex;gap:10px;align-items:center;}
.fg-page .view-toggle{display:flex;border:1px solid var(--fg-border);border-radius:999px;overflow:hidden;}
.fg-page .view-toggle button{border:none;background:var(--fg-background);padding:8px 14px;cursor:pointer;color:var(--fg-text-soft);font-size:13px;}
.fg-page .view-toggle button.active{background:var(--fg-primary);color:#fff;}
.fg-page .sort-select{border:1px solid var(--fg-border);border-radius:999px;padding:9px 14px;background:var(--fg-background);font-size:13px;color:var(--fg-text);}
.fg-page .pagination{display:flex;justify-content:center;gap:8px;margin-top:44px;}
.fg-page .pagination a{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid var(--fg-border);font-size:14px;color:var(--fg-text-soft);}
.fg-page .pagination a.active{background:var(--fg-primary);color:#fff;border-color:var(--fg-primary);}
.fg-page .map-box{border-radius:var(--radius-md);background:var(--fg-surface);border:1px solid var(--fg-border);height:220px;display:flex;align-items:center;justify-content:center;color:var(--fg-text-muted);font-size:13px;overflow:hidden;position:relative;}

.fg-page .detail-hero{position:relative;height:440px;overflow:hidden;border-radius:var(--radius-lg);}
.fg-page .detail-hero img{width:100%;height:100%;object-fit:cover;}
.fg-page .detail-hero .scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,8,6,.05) 30%,rgba(10,8,6,.9));}
.fg-page .detail-hero .content{position:absolute;left:0;right:0;bottom:0;padding:36px;color:#fff;}
.fg-page .detail-hero .type-tag{position:static;display:inline-block;margin-bottom:14px;}
.fg-page .detail-hero h1{font-size:clamp(28px,4vw,44px);color:#fff;margin-bottom:12px;}
.fg-page .detail-meta{display:flex;flex-wrap:wrap;gap:18px;font-size:14.5px;opacity:.92;margin-bottom:22px;}
.fg-page .detail-meta span{display:flex;align-items:center;gap:6px;}
.fg-page .detail-cta{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-start;}
.fg-page .detail-cta-below{margin-top:20px;margin-bottom:8px;}
.fg-page .detail-cta-below .btn,.fg-page .detail-cta-below .btn-primary{justify-content:center;}
.fg-page .detail-cta .btn-primary{padding:12px 26px;}
.fg-page .btn-ghost{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.45);color:#fff;backdrop-filter:blur(6px);padding:12px 22px;border-radius:999px;font-size:14px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;}
.fg-page .detail-layout{display:grid;grid-template-columns:1fr 340px;gap:44px;padding:48px 0 80px;align-items:start;}
@media(max-width:900px){.fg-page .detail-layout{grid-template-columns:1fr;}}
.fg-page .detail-main h2{font-size:20px;margin:34px 0 14px;}
.fg-page .detail-main h2:first-child{margin-top:0;}
.fg-page .detail-main p{color:var(--fg-text-soft);line-height:1.75;font-size:15px;margin-bottom:12px;}
.fg-page .lineup-list{display:flex;flex-wrap:wrap;gap:10px;}
.fg-page .lineup-dag{font-size:15px;margin:18px 0 2px;font-weight:700;color:var(--fg-primary);}
.fg-page .lineup-dag:first-of-type{margin-top:10px;}
.fg-page .lineup-uur{font-size:13px;margin:0 0 8px;color:var(--fg-muted,#7a746b);}
.fg-page .lineup-chip{padding:8px 16px;border-radius:999px;background:var(--fg-surface);border:1px solid var(--fg-border);font-size:13.5px;font-weight:600;}
.fg-page .info-grid{display:grid;grid-template-columns:1fr;gap:0;margin-top:10px;border:1px solid var(--fg-border);border-radius:var(--radius-md);background:var(--fg-surface);overflow:hidden;}
.fg-page .info-item{display:grid;grid-template-columns:132px 1fr;gap:18px;align-items:baseline;padding:13px 20px;border-bottom:1px solid var(--fg-border);}
.fg-page .info-item:last-child{border-bottom:none;}
.fg-page .info-item .lbl{font-size:11.5px;font-weight:700;color:var(--fg-text-muted);text-transform:uppercase;letter-spacing:.06em;margin:0;line-height:1.5;}
.fg-page .info-item .val{font-size:15px;font-weight:600;line-height:1.5;}
.fg-page .info-item .val a{color:var(--fg-text);border-bottom:1px solid var(--fg-border);transition:color .15s ease,border-color .15s ease;}
.fg-page .info-item .val a:hover{color:var(--fg-primary);border-color:var(--fg-primary);}
.fg-page .side-card{background:var(--fg-surface);border:1px solid var(--fg-border);border-radius:var(--radius-md);padding:20px;margin-bottom:20px;}
.fg-page .side-card h4{font-size:12.5px;text-transform:uppercase;color:var(--fg-text-muted);letter-spacing:.05em;margin-bottom:14px;font-weight:700;}
.fg-page .org-row{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.fg-page .org-avatar{width:44px;height:44px;border-radius:50%;background:var(--fg-primary-tint);color:var(--fg-primary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;flex-shrink:0;}
.fg-page .mini-event{display:flex;gap:10px;align-items:center;margin-bottom:12px;}
.fg-page .mini-event:last-child{margin-bottom:0;}
.fg-page .mini-event img{width:52px;height:52px;border-radius:10px;object-fit:cover;flex-shrink:0;}
.fg-page .mini-event .t{font-size:13.5px;font-weight:600;line-height:1.3;}
.fg-page .mini-event .m{font-size:12px;color:var(--fg-text-muted);}
.fg-page .share-row{display:flex;gap:10px;justify-content:center;}
.fg-page .share-row a{width:38px;height:38px;border-radius:50%;background:var(--fg-surface-2);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:14px;color:var(--fg-text);line-height:0;transition:opacity .15s ease,transform .15s ease;}
.fg-page .share-row a svg{display:block;margin:auto;}
.fg-page .share-row a:hover{opacity:.85;transform:translateY(-1px);}
.fg-page .share-row a.share-fb{background:#1877F2;color:#fff;}
.fg-page .share-row a.share-x{background:#000;color:#fff;}
.fg-page .share-row a.share-wa{background:#25D366;color:#fff;}
.fg-page .share-row a.share-ig{background:linear-gradient(45deg,#f9ce34,#ee2a7b 45%,#6228d7);color:#fff;}
.fg-page .share-row a.share-copy{background:var(--fg-surface-2);color:var(--fg-text);}
.fg-page .share-row a.share-copy:hover{background:var(--fg-primary-tint);color:var(--fg-primary);}

.fg-page .dash{display:grid;grid-template-columns:240px 1fr;min-height:100vh;}
@media(max-width:900px){.fg-page .dash{grid-template-columns:1fr;}.fg-page .dash-sidebar{display:none;}}
.fg-page .dash-sidebar{background:var(--fg-surface);border-right:1px solid var(--fg-border);padding:24px 18px;}
.fg-page .dash-sidebar .logo{margin-bottom:32px;padding-left:6px;display:flex;align-items:center;gap:8px;font-family:'Fraunces',serif;font-size:22px;font-weight:600;}
.fg-page .dash-sidebar .logo span{color:var(--fg-primary);}
.fg-page .dash-nav a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;color:var(--fg-text-soft);margin-bottom:4px;}
.fg-page .dash-nav a.active{background:var(--fg-primary-tint);color:var(--fg-primary);font-weight:700;}
.fg-page .dash-nav a:hover{background:var(--fg-surface-2);}
.fg-page .dash-nav .grp{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--fg-text-muted);margin:18px 0 8px 12px;font-weight:700;}
.fg-page .dash-main{padding:32px 40px;}
.fg-page .dash-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;flex-wrap:wrap;gap:12px;}
.fg-page .dash-topbar h1{font-size:26px;}
.fg-page .stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:32px;}
@media(max-width:900px){.fg-page .stat-grid{grid-template-columns:repeat(2,1fr);}}
.fg-page .stat-card{background:var(--fg-background);border:1px solid var(--fg-border);border-radius:var(--radius-md);padding:18px 20px;box-shadow:var(--shadow-card);}
.fg-page .stat-card .lbl{font-size:12.5px;color:var(--fg-text-muted);margin-bottom:8px;}
.fg-page .stat-card .val{font-size:26px;font-weight:700;font-family:'Fraunces',serif;}
.fg-page .stat-card .delta{font-size:12px;color:var(--fg-success);margin-top:6px;font-weight:600;}
.fg-page .dash-panel{background:var(--fg-background);border:1px solid var(--fg-border);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-card);}
.fg-page .dash-panel-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--fg-border);}
.fg-page .dash-panel-head h3{font-size:16px;}
.fg-page table.dash-table{width:100%;border-collapse:collapse;}
.fg-page table.dash-table th{text-align:left;font-size:12px;text-transform:uppercase;color:var(--fg-text-muted);padding:12px 20px;background:var(--fg-surface);border-bottom:1px solid var(--fg-border);font-weight:700;letter-spacing:.03em;}
.fg-page table.dash-table td{padding:14px 20px;font-size:14px;border-bottom:1px solid var(--fg-border);}
.fg-page table.dash-table tr:last-child td{border-bottom:none;}
.fg-page table.dash-table tr:hover td{background:var(--fg-surface);}
.fg-page .ev-thumb{display:flex;align-items:center;gap:10px;}
.fg-page .ev-thumb img{width:40px;height:40px;border-radius:8px;object-fit:cover;}
.fg-page .status-badge{padding:4px 10px;border-radius:999px;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;display:inline-block;}
.fg-page .status-published{background:var(--fg-success-bg);color:var(--fg-success);}
.fg-page .status-pending{background:var(--fg-warning-bg);color:var(--fg-warning);}
.fg-page .status-draft{background:var(--fg-surface-2);color:var(--fg-text-muted);}
.fg-page .status-rejected{background:var(--fg-danger-bg);color:var(--fg-danger);}
.fg-page .row-action{font-size:13px;font-weight:600;color:var(--fg-primary);}

/* Dark mode toggle button — inline in the Blocksy header/menu bar (site-wide, not scoped to .fg-page) */
.fg-theme-toggle-inline{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--fg-border);background:transparent;cursor:pointer;padding:0;margin:0 4px;flex-shrink:0;vertical-align:middle;transition:background .15s ease,border-color .15s ease;}
.fg-theme-toggle-inline:hover{background:var(--fg-surface);border-color:var(--fg-primary);}
.fg-theme-toggle-inline .fg-tt-icon{font-size:16px;line-height:1;display:none;}
html:not([data-theme="dark"]) .fg-theme-toggle-inline .fg-tt-moon{display:block;}
html[data-theme="dark"] .fg-theme-toggle-inline .fg-tt-sun{display:block;}

/* Fallback: fixed floating button, only used if the header markup Blocksy renders doesn't match what we expect */
.fg-theme-toggle-fab{position:fixed;bottom:24px;right:24px;z-index:9999;width:48px;height:48px;border-radius:50%;border:1px solid var(--fg-border);background:var(--fg-background);box-shadow:var(--shadow-card);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;}
.fg-theme-toggle-fab .fg-tt-icon{font-size:19px;line-height:1;display:none;}
html:not([data-theme="dark"]) .fg-theme-toggle-fab .fg-tt-moon{display:block;}
html[data-theme="dark"] .fg-theme-toggle-fab .fg-tt-sun{display:block;}

/* Dark mode — extend beyond .fg-page into the Blocksy header/footer chrome so the whole page is consistent, not just the main content area. */
html[data-theme="dark"] body{background:var(--fg-background);color:var(--fg-text);}
html[data-theme="dark"] .ct-header,
html[data-theme="dark"] .ct-footer{background:var(--fg-background) !important;border-color:var(--fg-border) !important;}
html[data-theme="dark"] .ct-header [data-row],
html[data-theme="dark"] .ct-footer [data-row],
html[data-theme="dark"] .ct-header .ct-container,
html[data-theme="dark"] .ct-footer .ct-container{background-color:var(--fg-background) !important;}
html[data-theme="dark"] .ct-header .site-title a,
html[data-theme="dark"] .ct-header .ct-menu-link,
html[data-theme="dark"] .ct-header .ct-icon,
html[data-theme="dark"] .ct-footer,
html[data-theme="dark"] .ct-footer a:not(.ct-button){color:var(--fg-text) !important;}
html[data-theme="dark"] .ct-header svg,
html[data-theme="dark"] .ct-footer svg{fill:currentColor;}
html[data-theme="dark"] .ct-header-search,
html[data-theme="dark"] .ct-header-trigger{color:var(--fg-text) !important;}

/* Header dropdown submenu (Agenda etc.) — same layout Blocksy already renders, just make it legible in dark mode. */
html[data-theme="dark"] .menu-container .sub-menu{background:var(--fg-surface) !important;border:1px solid var(--fg-border) !important;box-shadow:var(--shadow-card);}
html[data-theme="dark"] .menu-container .sub-menu .ct-menu-link{color:var(--fg-text) !important;}
html[data-theme="dark"] .menu-container .sub-menu li:hover > .ct-menu-link,
html[data-theme="dark"] .menu-container .sub-menu .ct-menu-link:hover{background:var(--fg-surface-2) !important;color:var(--fg-primary) !important;}
html[data-theme="dark"] .menu-container .sub-menu li{border-color:var(--fg-border) !important;}

/* Language switcher — permanent part of the sticky header, all 4 languages, dark-mode aware. */
.fg-lang-switcher{position:relative;display:inline-flex;align-items:center;margin:0 4px;flex-shrink:0;}
.fg-lang-trigger{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 12px;border-radius:999px;border:1px solid var(--fg-border);background:transparent;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;font-size:13px;font-weight:700;color:var(--fg-text);transition:background .15s ease,border-color .15s ease;}
.fg-lang-trigger:hover,.fg-lang-switcher.is-open .fg-lang-trigger{background:var(--fg-surface);border-color:var(--fg-primary);}
.fg-lang-trigger:focus-visible{outline:2px solid var(--fg-primary);outline-offset:2px;}
.fg-lang-flag{width:16px;height:12px;object-fit:cover;border-radius:2px;display:block;flex-shrink:0;}
.fg-lang-code{letter-spacing:.03em;}
.fg-lang-chevron{font-size:10px;color:var(--fg-text-muted);transition:transform .15s ease;}
.fg-lang-switcher.is-open .fg-lang-chevron{transform:rotate(180deg);}
.fg-lang-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:180px;margin:0;padding:6px;list-style:none;background:var(--fg-background);border:1px solid var(--fg-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);z-index:200;opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity .18s ease,transform .18s ease;}
.fg-lang-switcher.is-open .fg-lang-menu{opacity:1;transform:translateY(0);pointer-events:auto;}
.fg-lang-menu[hidden]{display:block;}
.fg-lang-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:6px;font-size:13.5px;font-weight:600;color:var(--fg-text);text-decoration:none;}
.fg-lang-item:hover,.fg-lang-item:focus-visible{background:var(--fg-surface);outline:none;}
.fg-lang-item.active{color:var(--fg-primary);}
.fg-lang-name{flex:1;}
.fg-lang-check{color:var(--fg-primary);font-weight:700;}
.fg-lang-switcher-fab{position:fixed;bottom:24px;left:24px;z-index:9999;}
.fg-lang-switcher-fab .fg-lang-trigger{background:var(--fg-background);box-shadow:var(--shadow-card);}
.fg-lang-switcher-fab .fg-lang-menu{top:auto;bottom:calc(100% + 8px);left:0;right:auto;}
@media(prefers-reduced-motion: reduce){.fg-lang-menu,.fg-lang-chevron{transition:none;}}
@media(max-width:480px){.fg-lang-trigger{padding:0 9px;font-size:12px;}.fg-lang-code{display:inline;}}

/* Hide breadcrumbs sitewide — shown on all languages but design looks cleaner without */
.blocksy-breadcrumbs,
.ct-breadcrumbs,
[class*="breadcrumb"] {
  display: none !important;
}

/* Header CTA button — use the brand red instead of Blocksy's default blue, in both light and dark mode */
.ct-header-cta .ct-button{background-color:var(--fg-primary) !important;border-color:var(--fg-primary) !important;color:#fff !important;}
.ct-header-cta .ct-button:hover{background-color:var(--fg-primary-dark) !important;border-color:var(--fg-primary-dark) !important;}

/* Organisatoren page */
.fg-page .benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media(max-width:900px){.fg-page .benefit-grid{grid-template-columns:1fr;}}
.fg-page .benefit-card{background:var(--fg-surface);border:1px solid var(--fg-border);border-radius:var(--radius-md);padding:26px;}
.fg-page .benefit-card .ico{font-size:26px;margin-bottom:14px;}
.fg-page .benefit-card h3{font-family:'Plus Jakarta Sans',sans-serif;font-size:17px;font-weight:700;margin-bottom:8px;}
.fg-page .benefit-card p{color:var(--fg-text-soft);font-size:14px;line-height:1.65;}

.fg-page .steps-row{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:step;}
@media(max-width:900px){.fg-page .steps-row{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.fg-page .steps-row{grid-template-columns:1fr;}}
.fg-page .step-card{position:relative;padding-top:8px;}
.fg-page .step-card .num{width:34px;height:34px;border-radius:50%;background:var(--fg-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14.5px;margin-bottom:14px;font-family:'Fraunces',serif;}
.fg-page .step-card h4{font-size:15px;font-weight:700;margin-bottom:6px;}
.fg-page .step-card p{color:var(--fg-text-soft);font-size:13.5px;line-height:1.6;}

.fg-page .pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;}
@media(max-width:900px){.fg-page .pricing-grid{grid-template-columns:1fr;}}
.fg-page .price-card{background:var(--fg-background);border:1px solid var(--fg-border);border-radius:var(--radius-md);padding:28px;box-shadow:var(--shadow-card);}
.fg-page .price-card.featured{border-color:var(--fg-primary);position:relative;}
.fg-page .price-card .plan-badge{display:inline-block;background:var(--fg-primary);color:#fff;font-size:11px;font-weight:700;text-transform:uppercase;padding:4px 10px;border-radius:999px;margin-bottom:14px;}
.fg-page .price-card h3{font-size:18px;margin-bottom:6px;}
.fg-page .price-card .price{font-family:'Fraunces',serif;font-size:26px;font-weight:600;margin-bottom:16px;}
.fg-page .price-card .price small{font-size:13px;font-weight:400;color:var(--fg-text-muted);}
.fg-page .price-card ul{list-style:none;padding:0;margin:0;}
.fg-page .price-card li{font-size:13.5px;color:var(--fg-text-soft);padding:7px 0;border-top:1px solid var(--fg-border);}
.fg-page .price-card li:first-child{border-top:none;}
.fg-page .soon-tag{font-size:10.5px;font-weight:700;text-transform:uppercase;color:var(--fg-text-muted);background:var(--fg-surface-2);padding:2px 7px;border-radius:6px;margin-left:6px;letter-spacing:.02em;}

.fg-page .dash-preview{position:relative;border-radius:var(--radius-lg);border:1px solid var(--fg-border);overflow:hidden;}
.fg-page .dash-preview-ribbon{position:absolute;top:16px;right:16px;z-index:5;background:var(--fg-text);color:var(--fg-background);font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:6px 14px;border-radius:999px;box-shadow:var(--shadow-card);}
.fg-page .dash-preview-inner{padding:32px;background:var(--fg-surface);opacity:.92;pointer-events:none;user-select:none;}
.fg-page .dash-preview-caption{padding:16px 20px;background:var(--fg-surface-2);border-top:1px solid var(--fg-border);font-size:13px;color:var(--fg-text-muted);}

.fg-page .contact-layout{grid-template-columns:1fr 320px;}
.fg-page .contact-card{background:var(--fg-background);border:1px solid var(--fg-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:32px;}
.fg-page .contact-card h2{font-size:20px;margin-bottom:6px;}
.fg-page .contact-card .hint{color:var(--fg-text-soft);font-size:14.5px;margin-bottom:24px;}
.fg-page .contact-info-row{display:flex;align-items:center;gap:12px;font-size:14.5px;}
.fg-page .contact-info-row .ico{width:40px;height:40px;border-radius:50%;background:var(--fg-primary-tint);color:var(--fg-primary);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;}
.fg-page .contact-info-row a{font-weight:600;word-break:break-all;}
.fg-page .contact-info-row a:hover{color:var(--fg-primary);}

/* WPForms — blend with fg-page design tokens */
.fg-page .wpforms-container{margin:0;}
.fg-page .wpforms-form .wpforms-field{padding:0 0 18px;}
.fg-page .wpforms-field-label{font-size:13.5px;font-weight:700;color:var(--fg-text);margin-bottom:7px;font-family:'Plus Jakarta Sans',sans-serif;}
.fg-page .wpforms-field-required{color:var(--fg-primary);}
.fg-page .wpforms-field input[type=text],
.fg-page .wpforms-field input[type=email],
.fg-page .wpforms-field input[type=tel],
.fg-page .wpforms-field textarea{width:100%;border:1px solid var(--fg-border);border-radius:var(--radius-sm);padding:12px 14px;font-size:14.5px;font-family:'Plus Jakarta Sans',sans-serif;color:var(--fg-text);background:var(--fg-surface);transition:border-color .15s ease;}
.fg-page .wpforms-field input:focus,
.fg-page .wpforms-field textarea:focus{outline:none;border-color:var(--fg-primary);background:var(--fg-background);}
.fg-page .wpforms-field-textarea textarea{min-height:150px;resize:vertical;}
.fg-page .wpforms-field-name .wpforms-field-row{display:flex;gap:12px;}
.fg-page button.wpforms-submit{background:var(--fg-primary);color:#fff;border:none;border-radius:999px;padding:13px 30px;font-size:14.5px;font-weight:700;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;}
.fg-page button.wpforms-submit:hover{background:var(--fg-primary-dark);}
.fg-page .wpforms-error-container,.fg-page label.wpforms-error{color:var(--fg-danger);font-size:13px;margin-top:5px;}
.fg-page .wpforms-confirmation-container-full{background:var(--fg-success-bg);color:var(--fg-success);border-radius:var(--radius-md);padding:24px;font-size:15px;}


/* Organizer platform — auth cards, plain forms, dashboard extras */
.fg-page .auth-wrap{min-height:70vh;display:flex;align-items:center;justify-content:center;padding:40px 20px;}
.fg-page .auth-card{max-width:460px;width:100%;background:var(--fg-background);border:1px solid var(--fg-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:36px;}
.fg-page .auth-card h1{font-size:24px;margin-bottom:6px;}
.fg-page .auth-card .sub{color:var(--fg-text-soft);font-size:14.5px;margin-bottom:26px;}
.fg-page .auth-card .switch{text-align:center;margin-top:22px;font-size:13.5px;color:var(--fg-text-soft);}
.fg-page .auth-card .switch a{font-weight:700;}
.fg-page .fg-import-box{background:var(--fg-primary-tint);border:1px solid var(--fg-primary);border-radius:var(--radius-md);padding:16px 18px;margin-bottom:22px;}
.fg-page .fg-import-box label{display:block;font-size:13.5px;font-weight:700;color:var(--fg-text);margin-bottom:9px;}
.fg-page .fg-import-row{display:flex;gap:10px;flex-wrap:wrap;}
.fg-page .fg-import-row input[type=url]{flex:1 1 260px;height:44px;padding:0 16px;border:1px solid var(--fg-border);border-radius:999px;background:var(--fg-background);color:var(--fg-text);font-size:14.5px;font-family:inherit;}
.fg-page .fg-import-row .btn{flex:0 0 auto;white-space:nowrap;}
.fg-page .fg-import-box .hint{display:block;margin-top:9px;}
@media(max-width:480px){.fg-page .fg-import-row input[type=url],.fg-page .fg-import-row .btn{width:100%;flex:1 1 auto;}}
.fg-page .fg-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px;}
.fg-page .fg-form-grid .full{grid-column:1/-1;}
.fg-page .fg-field label{display:block;font-size:13.5px;font-weight:700;color:var(--fg-text);margin-bottom:7px;}
.fg-page .fg-field .req{color:var(--fg-primary);}
.fg-page .fg-field input[type=text],
.fg-page .fg-field input[type=email],
.fg-page .fg-field input[type=password],
.fg-page .fg-field input[type=tel],
.fg-page .fg-field input[type=url],
.fg-page .fg-field input[type=number],
.fg-page .fg-field input[type=datetime-local],
.fg-page .fg-field input[type=date],
.fg-page .fg-field input[type=file],
.fg-page .fg-field select,
.fg-page .fg-field textarea{width:100%;border:1px solid var(--fg-border);border-radius:var(--radius-sm);padding:10px 14px;font-size:13.5px;font-family:'Plus Jakarta Sans',sans-serif;color:var(--fg-text);background:var(--fg-surface);transition:border-color .15s ease;}
.fg-page .fg-field input::placeholder,
.fg-page .fg-field textarea::placeholder{font-size:13.5px;font-family:'Plus Jakarta Sans',sans-serif;color:var(--fg-text-muted);opacity:1;}
.fg-page .fg-field input[type=datetime-local],
.fg-page .fg-field input[type=date]{font-size:13px;}
.fg-page .fg-field input:focus,
.fg-page .fg-field select:focus,
.fg-page .fg-field textarea:focus{outline:none;border-color:var(--fg-primary);background:var(--fg-background);}
.fg-page .fg-field textarea{min-height:120px;resize:vertical;}
.fg-page .fg-field select{
	-webkit-appearance:none;-moz-appearance:none;appearance:none;
	background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888a92' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
	background-repeat:no-repeat;background-position:right 14px center;background-size:16px;padding-right:40px;
	line-height:1.3;
}
.fg-page .fg-field select option{color:var(--fg-text);background:var(--fg-surface);font-size:13.5px;font-family:'Plus Jakarta Sans',sans-serif;}
.fg-page .fg-field input[type=date]::-webkit-calendar-picker-indicator,
.fg-page .fg-field input[type=datetime-local]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:0.7;}
html[data-theme="dark"] .fg-page .fg-field input[type=date]::-webkit-calendar-picker-indicator,
html[data-theme="dark"] .fg-page .fg-field input[type=datetime-local]::-webkit-calendar-picker-indicator{filter:invert(1) brightness(1.4);}
.fg-page .fg-field{margin-bottom:16px;}
.fg-page .fg-field .hint{font-size:12.5px;color:var(--fg-text-muted);margin-top:5px;}
.fg-page .fg-checkbox-row{display:flex;align-items:flex-start;gap:8px;font-size:13.5px;color:var(--fg-text-soft);margin-bottom:18px;}
.fg-page .fg-checkbox-row input{margin-top:3px;}
.fg-page .fg-form-msg{padding:14px 18px;border-radius:var(--radius-sm);font-size:14px;margin-bottom:20px;}
.fg-page .fg-form-msg.error{background:var(--fg-danger-bg);color:var(--fg-danger);}
.fg-page .fg-form-msg.success{background:var(--fg-success-bg);color:var(--fg-success);}
.fg-page .fg-form-msg.info{background:var(--fg-warning-bg);color:var(--fg-warning);}
.fg-page .btn-block{width:100%;justify-content:center;}
.fg-page .dash-empty{padding:48px 20px;text-align:center;color:var(--fg-text-muted);font-size:14.5px;}
.fg-page .soon-panel{background:var(--fg-surface);border:1px dashed var(--fg-border);border-radius:var(--radius-md);padding:32px;text-align:center;color:var(--fg-text-soft);font-size:14.5px;}
.fg-page .review-banner{background:var(--fg-warning-bg);color:var(--fg-warning);border-radius:var(--radius-md);padding:14px 20px;font-size:13.5px;font-weight:600;margin-bottom:24px;}
.fg-page .renew-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;background:var(--fg-primary-tint);border:1px solid rgba(194,0,37,.22);border-radius:var(--radius-md);padding:18px 22px;margin-bottom:24px;}
.fg-page .renew-banner strong{display:block;font-size:15.5px;color:var(--fg-text);margin-bottom:3px;}
.fg-page .renew-banner span{display:block;font-size:13.5px;line-height:1.5;color:var(--fg-text-soft);max-width:60ch;}
.fg-page .renew-banner .btn{white-space:nowrap;}
@media(max-width:600px){.fg-page .renew-banner{padding:16px 18px;}.fg-page .renew-banner .btn{width:100%;text-align:center;}}
@media(max-width:600px){.fg-page .fg-form-grid{grid-template-columns:1fr;}.fg-page .dash-main{padding:24px 18px;}}

/* =====================================================================
   AUDIT FASE 1 — KRITIEKE UX/ACCESSIBILITY FIXES
   (additief; overschrijft eerdere regels door latere plaatsing)
   ===================================================================== */

/* 1a. Spacing-token schaal (basis 4px) — voor toekomstige migratie van
   hardcoded waarden. Nu al bruikbaar via var(--space-*). */
:root{
  --space-2:2px;--space-4:4px;--space-8:8px;--space-12:12px;--space-16:16px;
  --space-20:20px;--space-24:24px;--space-32:32px;--space-40:40px;
  --space-48:48px;--space-64:64px;--space-80:80px;
}

/* 1b. Contrast: muted-tekst voldeed niet aan WCAG AA (4.5:1). Donkerder/
   lichter zodat 13px meta-tekst leesbaar is in beide modi. */
:root{--fg-text-muted:#6b665e;}
html[data-theme="dark"]{--fg-text-muted:#a49f95;}

/* 1c. Zichtbare focus-states voor toetsenbord-navigatie (WCAG 2.2 AA 2.4.7).
   Ontbraken op vrijwel alle interactieve elementen. */
.fg-page a:focus-visible,
.fg-page button:focus-visible,
.fg-page input:focus-visible,
.fg-page select:focus-visible,
.fg-page textarea:focus-visible,
.fg-page .event-card:focus-visible,
.fg-page .pill:focus-visible,
.fg-page .filter-check:focus-visible,
.fg-page .cat-tile:focus-visible,
.fg-page .city-chip:focus-visible,
.fg-page .fav-btn:focus-visible,
.fg-page .view-toggle button:focus-visible,
.fg-page .pagination a:focus-visible{outline:2px solid var(--fg-primary);outline-offset:2px;}
.fg-page .searchbar:focus-within{border-color:var(--fg-primary);box-shadow:0 0 0 3px var(--fg-primary-tint);}
.fg-page .searchbar input:focus-visible{outline:none;}

/* 1d. Touch targets op smartphone: hartje, pills en filters waren te klein
   (WCAG 2.5.8 / comfortabel gebruik met de duim). */
@media(max-width:600px){
  .fg-page .fav-btn{width:36px;height:36px;font-size:15px;top:8px;right:8px;}
  .fg-page .pill{padding:11px 18px;}
  .fg-page .filter-check{padding:9px 14px;}
  .fg-page .view-toggle button{padding:11px 16px;}
  .fg-page .quick-filters{gap:10px;}
}

/* 1e. KRITIEK — dashboardnavigatie op mobiel. De sidebar werd volledig
   verborgen (display:none) <=820px, waardoor tab-navigatie en uitloggen
   onbereikbaar waren. Herbouw als horizontale, scrollbare tabbalk. */
@media(max-width:900px){
  .fg-page .dash{grid-template-columns:1fr;}
  .fg-page .dash-sidebar{display:block;border-right:none;border-bottom:1px solid var(--fg-border);padding:10px 14px;position:sticky;top:0;z-index:30;background:var(--fg-surface);}
  .fg-page .dash-sidebar .logo{display:none;}
  .fg-page .dash-nav{display:flex;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0;padding-bottom:2px;scrollbar-width:thin;}
  .fg-page .dash-nav a{margin:0;white-space:nowrap;padding:10px 14px;flex:0 0 auto;}
  .fg-page .dash-nav .grp{display:none;}
}

/* 1f. Section spacing op smartphone: hero/secties waren niet verkleind,
   wat onnodig scrollen veroorzaakte. */
@media(max-width:600px){
  .fg-page .hero{padding:56px 0 52px;}
  .fg-page section.block{padding:40px 0;}
  .fg-page .nearby-banner{padding:28px;}
  .fg-page .page-header{padding:32px 0 26px;}
}

/* 1g. Globale reduced-motion: respecteer de systeemvoorkeur overal. */
@media(prefers-reduced-motion: reduce){
  .fg-page *,.fg-page *::before,.fg-page *::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;}
}

/* ==== Evenementenkalender (home) ==== */
.fg-page .cal-sub{color:var(--fg-text-muted);font-size:14.5px;margin:-6px 0 20px;}
.fg-calendar{display:grid;grid-template-columns:1.35fr 1fr;gap:22px;align-items:start;}
.fgcal-main,.fgcal-panel{background:var(--fg-surface);border:1px solid var(--fg-border);border-radius:var(--radius-lg);padding:20px 22px;box-shadow:var(--shadow-card);}
.fgcal-panel{min-height:220px;}
.fgcal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;}
.fgcal-title{font-family:'Fraunces',serif;font-weight:600;font-size:21px;line-height:1.1;color:var(--fg-text);text-transform:capitalize;}
.fgcal-nav{width:38px;height:38px;flex:0 0 auto;border-radius:999px;border:1px solid var(--fg-border);background:var(--fg-background);color:var(--fg-text);font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s,color .15s;}
.fgcal-nav:hover{background:var(--fg-primary);border-color:var(--fg-primary);color:#fff;}
.fgcal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:8px;}
.fgcal-weekdays span{text-align:center;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-text-muted);}
.fgcal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;}
.fgcal-cell{position:relative;aspect-ratio:1;border:0;background:transparent;border-radius:var(--radius-sm);color:var(--fg-text-soft);font-family:inherit;font-size:14px;cursor:default;display:flex;align-items:center;justify-content:center;padding:0;}
.fgcal-cell.empty{visibility:hidden;}
.fgcal-cell .dnum{line-height:1;}
.fgcal-cell.has{background:var(--fg-surface-2);color:var(--fg-text);font-weight:600;cursor:pointer;transition:background .15s,color .15s;}
.fgcal-cell.has:hover{background:var(--fg-primary-tint);}
.fgcal-cell .dot{position:absolute;bottom:6px;left:50%;transform:translateX(-50%);width:5px;height:5px;border-radius:999px;background:var(--fg-primary);}
.fgcal-cell.today{box-shadow:inset 0 0 0 1.5px var(--fg-primary);}
.fgcal-cell.sel{background:var(--fg-primary)!important;color:#fff!important;}
.fgcal-cell.sel .dot{background:#fff;}
.fgcal-panel-date{font-family:'Fraunces',serif;font-weight:600;font-size:17px;color:var(--fg-text);margin-bottom:14px;text-transform:capitalize;}
.fgcal-panel-date:empty{display:none;}
.fgcal-ev{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:var(--radius-md);border:1px solid var(--fg-border);margin-bottom:10px;transition:border-color .15s,background .15s;}
.fgcal-ev:last-child{margin-bottom:0;}
.fgcal-ev:hover{border-color:var(--fg-primary);background:var(--fg-primary-tint);}
.fgcal-ev-ico{font-size:22px;line-height:1.2;flex:0 0 auto;}
.fgcal-ev-body{display:flex;flex-direction:column;gap:3px;min-width:0;}
.fgcal-ev-title{font-weight:600;color:var(--fg-text);font-size:15px;}
.fgcal-ev-meta{font-size:12.5px;color:var(--fg-text-muted);}
.fgcal-empty{color:var(--fg-text-muted);font-size:14.5px;margin:0;}
@media(max-width:860px){.fg-calendar{grid-template-columns:1fr;}}

/* ==== App-store badges in 'In jouw buurt'-banner ==== */
.app-cta{display:flex;flex-direction:column;align-items:flex-end;gap:10px;}
.app-soon{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#fff;background:rgba(0,0,0,.22);padding:5px 13px;border-radius:999px;}
.app-badges{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;}
.app-badge{display:inline-flex;cursor:default;}
.app-badge .badge-svg{height:44px;width:auto;display:block;}
@media(max-width:640px){.nearby-banner{flex-direction:column;align-items:flex-start!important;gap:20px;}.app-cta{align-items:flex-start;width:100%;}.app-badges{justify-content:flex-start;}}

/* ==== Titels van de thema-archieven in de huisstijlkleur ====
   Blocksy tekent de paginatitel in het donkerblauw van het palet; op de donkere
   achtergrond viel die weg. Volgt nu de tekstkleur van de site: wit in donkere
   modus, bijna zwart in lichte modus. */
.hero-section .page-title,
.hero-section .page-title .ct-title-label,
.entry-header .page-title,
.entry-header .page-title .ct-title-label,
.ct-no-results .page-title,
.ct-no-results .page-title .ct-title-label{color:var(--fg-text) !important;}
.hero-section .page-description,
.ct-no-results .entry-content{color:var(--fg-text-soft);}

/* ==== De kleuren van het thema volgen de huisstijl ====
   Blocksy gebruikte twee blauwtinten (#3A4F66 en #192a3d) voor tekst en
   koppen. Op de donkere achtergrond waren die vrijwel onleesbaar. Alles
   verwijst nu naar de tekstkleur van de site: wit in donkere modus,
   bijna zwart in lichte modus. Links en accenten blijven huisrood. */
:root{
  --theme-palette-color-3:var(--fg-text-soft) !important;
  --theme-palette-color-4:var(--fg-text) !important;
  --theme-text-color:var(--fg-text-soft) !important;
  --theme-headings-color:var(--fg-text) !important;
  --theme-heading-color:var(--fg-text) !important;
  --theme-heading-1-color:var(--fg-text) !important;
  --theme-heading-2-color:var(--fg-text) !important;
  --theme-heading-3-color:var(--fg-text) !important;
  --theme-heading-4-color:var(--fg-text) !important;
  --theme-heading-5-color:var(--fg-text) !important;
  --theme-heading-6-color:var(--fg-text) !important;
  --theme-link-initial-color:var(--fg-primary) !important;
  --theme-link-hover-color:var(--fg-primary-dark) !important;
  --theme-link-active-color:var(--fg-primary-dark) !important;
  --theme-border-color:var(--fg-border) !important;
}
/* Losse koppen die het thema rechtstreeks inkleurt. */
.entry-content h1,.entry-content h2,.entry-content h3,
.entry-content h4,.entry-content h5,.entry-content h6,
.entry-content p,.entry-content li,.entry-content td,
.ct-container .entry-content strong{color:inherit;}
.entry-content h1,.entry-content h2,.entry-content h3,
.entry-content h4,.entry-content h5,.entry-content h6{color:var(--fg-text);}
.entry-content{color:var(--fg-text-soft);}
.entry-content a{color:var(--fg-primary);}
.entry-content a:hover{color:var(--fg-primary-dark);}


/* ==== Zoekbalk in de paginakop: groter en gecentreerd (15-08-2026) ==== */
.fg-page .page-header .searchbar{margin:26px auto 0;max-width:820px;padding:10px 10px 10px 26px;}
.fg-page .page-header .searchbar input{font-size:16.5px;padding:6px 0;}
.fg-page .page-header .searchbar button{padding:15px 32px;font-size:15px;}
@media(max-width:640px){.fg-page .page-header .searchbar{padding:8px 8px 8px 18px;}.fg-page .page-header .searchbar button{padding:12px 20px;font-size:14px;}}

/* ==== Filtergroepen links: inklapbaar. Lange lijsten (37 steden, 34 genres)
   maakten de zijbalk langer dan het scherm. ==== */
.fg-page details.filter-group>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;}
.fg-page details.filter-group>summary::-webkit-details-marker{display:none;}
.fg-page details.filter-group>summary h4{margin-bottom:0;display:flex;align-items:center;gap:8px;}
.fg-page details.filter-group>summary h4::before{content:'\25B8';display:inline-block;font-size:11px;opacity:.5;transition:transform .15s ease;}
.fg-page details.filter-group[open]>summary h4::before{transform:rotate(90deg);}
.fg-page details.filter-group>summary:hover h4{color:var(--fg-text);}
.fg-page details.filter-group[open]>.filter-options{margin-top:10px;}
.fg-page .filter-tel{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--fg-primary);color:#fff;font-size:11.5px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;}


/* ==== Zijkaart Bron & organisator (15-08-2026) ====
   Emoji vervangen door echte badges, en de claimknop van een volle rode blok
   naar een omlijnde knop: het rood is voorbehouden aan de ticketknop. ==== */
.fg-page .org-row{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.fg-page .org-avatar{width:48px;height:48px;border-radius:12px;object-fit:cover;flex:0 0 auto;border:1px solid var(--fg-border);background:var(--fg-surface-2);}
.fg-page .org-avatar-leeg{display:flex;align-items:center;justify-content:center;font-weight:700;font-size:19px;color:var(--fg-primary);background:var(--fg-primary-tint);}
.fg-page .org-naam{font-weight:700;line-height:1.25;}
.fg-page .org-badge{display:inline-flex;align-items:center;gap:5px;margin-top:5px;padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:600;background:var(--fg-surface-2);color:var(--fg-text-soft);}
.fg-page .org-badge svg{width:12px;height:12px;flex:0 0 auto;display:block;}
.fg-page .org-badge--ok{background:var(--fg-success-bg);color:var(--fg-text);}
.fg-page .org-bron{font-size:13px;line-height:1.55;color:var(--fg-text-soft);margin:0 0 12px;}
.fg-page .org-claim{margin-top:14px;padding-top:14px;border-top:1px solid var(--fg-border);}
.fg-page .org-claim p{font-size:12.5px;line-height:1.5;color:var(--fg-text-muted);margin:0 0 9px;}
/* Claimknop — geel gevuld, zodat ze opvalt tussen de rode knoppen. */
.fg-page a.btn-claim{display:block;width:100%;text-align:center;padding:11px 16px;border-radius:999px;border:1px solid #c98b2e;color:#1d1400;font-size:13.5px;font-weight:700;background:#e8a72a;white-space:nowrap;box-shadow:0 2px 12px rgba(201,139,46,.28);transition:background .15s ease,box-shadow .15s ease;}
.fg-page a.btn-claim:hover{background:#f7bd45;color:#1d1400;box-shadow:0 3px 16px rgba(201,139,46,.42);}
.fg-page a.btn-claim:focus-visible{outline:2px solid #8a5c12;outline-offset:2px;}

/* Bronvermelding bij een vrij gelicentieerde hero-foto */
.fg-page .detail-hero .foto-credit{position:absolute;right:12px;bottom:10px;z-index:3;font-size:11px;line-height:1.3;color:rgba(255,255,255,.72);background:rgba(0,0,0,.38);padding:3px 8px;border-radius:999px;backdrop-filter:blur(3px);max-width:70%;}
.fg-page .detail-hero .foto-credit a{color:inherit;text-decoration:none;}
.fg-page .detail-hero .foto-credit a:hover{text-decoration:underline;}

/* Kleine bronvermelding op de kaartjes in lijsten */
.event-media,.fest-card{position:relative;}
.media-credit{position:absolute;left:0;right:0;bottom:0;z-index:2;font-size:9.5px;line-height:1.25;color:rgba(255,255,255,.62);background:linear-gradient(to top,rgba(0,0,0,.45),rgba(0,0,0,0));padding:10px 8px 3px;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;}
.fest-card .media-credit{bottom:auto;top:0;background:linear-gradient(to bottom,rgba(0,0,0,.45),rgba(0,0,0,0));padding:3px 8px 10px;}
@media (max-width:640px){.media-credit{display:none;}}

@media(max-width:560px){.fg-page .info-item{grid-template-columns:1fr;gap:2px;padding:12px 16px;}}

/* ==== Tweede pilrij in de hero: soorten evenementen (15-08-2026) ==== */
.fg-page .quick-cats{margin-top:12px;gap:8px;}
.fg-page .pill.pill-cat{display:inline-flex;align-items:center;gap:7px;padding:7px 15px;font-size:13px;background:transparent;color:var(--fg-text-muted);}
.fg-page .pill.pill-cat:hover{background:var(--fg-text);color:var(--fg-background);border-color:var(--fg-text);}
@media(max-width:560px){.fg-page .quick-cats{gap:7px;}.fg-page .pill.pill-cat{padding:7px 13px;font-size:12.5px;}}


/* ==== Volle breedte in de andere talen (15-08-2026) ====
   /nl/ draait via een Elementor-template zonder inhoudskader. FR, EN en DE
   gebruiken de gewone paginatemplate van Blocksy, waar de constrained layout
   van WordPress .fg-page in een smalle, gecentreerde kolom perst
   (--theme-block-max-width). Daardoor zag de homepage er per taal anders uit.
   Hier geven we .fg-page overal weer de volle breedte; de eigen .fg-wrap
   binnenin regelt de leesbreedte zoals bedoeld. ==== */
.entry-content .fg-page,
.is-layout-constrained > .fg-page,
.is-layout-flow > .fg-page{max-width:none !important;width:auto !important;margin-left:0 !important;margin-right:0 !important;}
.entry-content:has(> .fg-page){padding-left:0 !important;padding-right:0 !important;max-width:none !important;}
/* De hero mag ook de bovenmarge van het thema niet meekrijgen. */
.entry-content > .fg-page > .hero:first-child{margin-top:0;}
