@import url("fvkb-fix.css");
/* =========================================================================
   Fanfare Vrije Kunstkring Brakel: huisstijl bovenop Elementor
   Kleuren en lettertypes staan in Elementor (Site-instellingen). Dit bestand
   bevat alleen de vormen die Elementor niet zelf kan: vaandel, stang,
   notenbalk, labels en kleine details. Klassen beginnen met fvkb-.
   ========================================================================= */

:root {
	--navy: #0E1240;
	--ultra: #2B3BD6;
	--ultra-donker: #2431B0;
	--gloed: #E8643C;
	--koper: #D9A43A;
	--zeegroen: #0F7A66;
	--roze: #C93C7A;
	--papier: #F7F6F2;
	--lijn: #DAD7CD;
	--grijs: #3E4166;
	--lavendel: #D5D8F7;
	--zacht: cubic-bezier(.2, .8, .2, 1);
}

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
::selection { background: var(--koper); color: var(--navy); }
:focus-visible { outline: 2px solid var(--ultra); outline-offset: 3px; }
.fvkb-donker :focus-visible, .fvkb-donker:focus-visible { outline-color: var(--koper); }
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }

/* Overslaan naar inhoud */
.fvkb-skip { position: absolute; left: 12px; top: -80px; z-index: 1000; padding: 12px 18px; border-radius: 6px; background: #FFF; color: var(--navy); font-weight: 700; text-decoration: none; outline: 2px solid var(--koper); outline-offset: 3px; transition: top .2s; }
.fvkb-skip:focus { top: 12px; }

/* -------------------------------------------------------------------------
   Kicker: minivaandel aan een stangetje vóór de tekst
   ---------------------------------------------------------------------- */
.fvkb-kicker .elementor-heading-title { display: inline-flex; align-items: center; gap: 12px; }
.fvkb-kicker .elementor-heading-title::before {
	content: ""; flex: 0 0 20px; width: 20px; height: 18px;
	background:
		linear-gradient(var(--koper), var(--koper)) top center / 20px 2px no-repeat,
		linear-gradient(currentColor, currentColor) 4px 2px / 12px 16px no-repeat;
	clip-path: polygon(0 0, 100% 0, 100% 2px, 80% 2px, 80% 13px, 50% 100%, 20% 13px, 20% 2px, 0 2px);
}

/* -------------------------------------------------------------------------
   Knoppen: kleine sprong bij hover, pijl schuift mee
   ---------------------------------------------------------------------- */
.elementor-button { transition: transform .25s var(--zacht), background-color .25s, color .25s, border-color .25s !important; }
.elementor-button:hover { transform: translateY(-2px); }
.elementor-button:active { transform: scale(.97); }
.elementor-button .elementor-button-icon { transition: transform .25s var(--zacht); }
.elementor-button:hover .elementor-button-icon { transform: translateX(4px); }
.fvkb-knop-terug .elementor-button:hover .elementor-button-icon { transform: translateX(-4px); }

/* Tekstlinks met dikke onderstreping */
.fvkb-tekstlink a, a.fvkb-tekstlink, .fvkb-tekst a { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 5px; text-decoration-color: #AAB1EF; transition: text-decoration-color .25s; }
.fvkb-tekstlink a:hover, a.fvkb-tekstlink:hover, .fvkb-tekst a:hover { text-decoration-color: var(--ultra); }
.fvkb-donker .fvkb-tekst a { color: #FFF; text-decoration-color: var(--koper); }

/* -------------------------------------------------------------------------
   Vaandel: doek met puntje en koperen franje
   Gebruik: container .fvkb-vaandel met daarin container .fvkb-vaandel__doek
   ---------------------------------------------------------------------- */
.fvkb-vaandel { position: relative; --franje: var(--koper); --punt: 80%; }
.fvkb-vaandel::before {
	content: ""; position: absolute; left: 0; right: 0; top: 0; bottom: -6%;
	clip-path: polygon(0 0, 100% 0, 100% var(--punt), 50% 100%, 0 var(--punt));
	background: repeating-linear-gradient(90deg, var(--franje) 0 2px, transparent 2px 5px);
	pointer-events: none;
}
.fvkb-vaandel > .fvkb-vaandel__doek, .fvkb-vaandel__doek {
	position: relative; z-index: 1;
	clip-path: polygon(0 0, 100% 0, 100% var(--punt, 80%), 50% 100%, 0 var(--punt, 80%));
}
.fvkb-vaandel--navyfranje { --franje: var(--navy); }
.fvkb-vaandel--witfranje { --franje: #FFFFFF; }
.fvkb-vaandel--geenfranje::before { display: none; }

/* Datumvaandel in de agenda */
.fvkb-datum { flex: 0 0 auto; }
.fvkb-datum .fvkb-vaandel__doek { width: 76px; min-height: 98px; }
.fvkb-datum .fvkb-datum__dag .elementor-heading-title,
.fvkb-datum .fvkb-datum__dag { line-height: 1; }

/* Hover: vaandels zwaaien even */
@keyframes fvkb-zwaai { 0%, 100% { transform: rotate(0); } 25% { transform: rotate(2.4deg); } 60% { transform: rotate(-1.6deg); } }
.fvkb-zwaai:hover .fvkb-vaandel, a:hover > .fvkb-vaandel, .e-loop-item:hover .fvkb-vaandel--zwaai { animation: fvkb-zwaai 1s cubic-bezier(.45, 0, .55, 1); transform-origin: top center; }

/* -------------------------------------------------------------------------
   Stang: koperen staaf met knoppen waar vaandels aan hangen
   ---------------------------------------------------------------------- */
.fvkb-stang { position: relative; padding-top: 20px !important; }
.fvkb-stang::before {
	content: ""; position: absolute; left: 0; right: 0; top: 0; height: 8px; border-radius: 4px;
	background:
		radial-gradient(circle at 8px 4px, var(--koper) 7px, transparent 7.5px) left center / 16px 16px no-repeat,
		radial-gradient(circle at 8px 4px, var(--koper) 7px, transparent 7.5px) right center / 16px 16px no-repeat,
		linear-gradient(var(--koper), var(--koper)) center / calc(100% - 16px) 6px no-repeat;
	transform-origin: left center;
}
.fvkb-stang.fvkb-in::before { animation: fvkb-teken .9s var(--zacht) both; }
@keyframes fvkb-teken { from { transform: scaleX(0); } to { transform: scaleX(1); } }

/* Vaandels aan de stang hangen direct onder de staaf */
.fvkb-stang .elementor-loop-container, .fvkb-stang > .e-con-inner { margin-top: -12px; }

/* -------------------------------------------------------------------------
   Notenbalk: vijf haarlijnen als scheiding
   ---------------------------------------------------------------------- */
.fvkb-notenbalk { height: 41px; background: repeating-linear-gradient(to bottom, var(--balk, rgba(217, 164, 58, .5)) 0 1px, transparent 1px 10px); }
.fvkb-donker .fvkb-notenbalk, .fvkb-notenbalk--donker { --balk: #3E4166; }

/* -------------------------------------------------------------------------
   Header
   ---------------------------------------------------------------------- */
.fvkb-header { transition: box-shadow .25s; }
.fvkb-header.elementor-sticky--effects { box-shadow: 0 8px 24px rgba(14, 18, 64, .25); }
.fvkb-merk a { display: flex; align-items: center; gap: 12px; color: #FFF; text-decoration: none; }
.fvkb-header .elementor-nav-menu--main .elementor-item.elementor-item-active,
.fvkb-header .elementor-nav-menu--main .current-menu-ancestor > .elementor-item { text-decoration: underline; text-decoration-color: var(--koper); text-decoration-thickness: 2px; text-underline-offset: 8px; }
.fvkb-header .elementor-nav-menu--main .sub-menu { border-radius: 10px; overflow: hidden; box-shadow: 0 16px 40px rgba(14, 18, 64, .22); padding: 8px; background: #FFF; min-width: 260px; }
.fvkb-header .elementor-nav-menu--main .sub-menu a { border-radius: 6px; }
.fvkb-header .elementor-nav-menu--main .sub-menu a::before { content: ""; width: 10px; height: 10px; border-radius: 50%; margin-right: 10px; background: var(--dot, var(--navy)); flex: 0 0 10px; }
.fvkb-header .sub-menu .menu-item-groep-fanfarekorps a, .fvkb-header .sub-menu li:nth-child(1) a { --dot: #2B3BD6; }
.fvkb-header .sub-menu li:nth-child(2) a { --dot: #C93C7A; }
.fvkb-header .sub-menu li:nth-child(3) a { --dot: #D9A43A; }
.fvkb-header .sub-menu li:nth-child(4) a { --dot: #0F7A66; }
.fvkb-header .sub-menu li:nth-child(5) a { --dot: #E8643C; }
.fvkb-header .elementor-nav-menu--dropdown { border-top: 1px solid #3E4166; }
.fvkb-header .elementor-nav-menu--dropdown .sub-menu a::before { content: ""; display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-right: 10px; background: var(--dot, #FFF); }

/* -------------------------------------------------------------------------
   Labels (agenda) en groepsbolletjes
   ---------------------------------------------------------------------- */
.fvkb-labels { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; }
.fvkb-label { display: inline-flex; align-items: center; gap: 8px; min-height: 26px; padding: 2px 10px; border-radius: 6px; background: var(--navy); color: #FFF; font-size: 13px; font-weight: 700; line-height: 1.2; }
.fvkb-label::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--koper); }
.fvkb-label--eerst { display: none; }
.fvkb-eerste .e-loop-item:first-child .fvkb-label--eerst { display: inline-flex; }
.fvkb-label--tickets { background: #E7F2F0; color: #0F605C; }
.fvkb-label--tickets::before { background: var(--zeegroen); }
.fvkb-label--gratis { background: #EAEBFB; color: var(--ultra-donker); }
.fvkb-label--gratis::before { background: var(--ultra); }
.fvkb-label--info { background: #FFF; color: var(--navy); box-shadow: inset 0 0 0 1px var(--lijn); }
.fvkb-label--info::before { background: #9FA0B3; }
.fvkb-label--uitverkocht, .fvkb-label--afgelast { background: #FDF0EC; color: #B2503D; }
.fvkb-label--uitverkocht::before, .fvkb-label--afgelast::before { background: var(--gloed); }
.fvkb-label--uit { background: #E7E7EC; color: var(--grijs); }
.fvkb-label--uit::before { background: #9FA0B3; }
.fvkb-groepen { display: inline-flex; flex-wrap: wrap; gap: 6px 14px; }
.fvkb-groep { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; color: var(--grijs); }
.fvkb-donker .fvkb-groep { color: var(--lavendel); }
.fvkb-dot { width: 10px; height: 10px; border-radius: 50%; flex: 0 0 10px; }
.fvkb-donker .fvkb-dot[style*="#0E1240"] { background: #FFF !important; }
.fvkb-maandkop { display: block; font-family: "Unbounded", sans-serif; font-weight: 600; font-size: 28px; letter-spacing: -.02em; line-height: 1.2; color: var(--navy); padding: 36px 4px 16px; }
.fvkb-maandkop:empty { display: none; }
.fvkb-shortcode-inline, .fvkb-shortcode-inline .elementor-shortcode { display: contents; }

/* Agenda: lijst in witte blokken per maand */
.fvkb-agenda .e-loop-item { background: #FFF; }
.fvkb-agenda .elementor-loop-container { gap: 0 !important; }
.fvkb-agenda .fvkb-optreden { border-top: 1px solid var(--lijn); }
.fvkb-agenda .e-loop-item:first-child .fvkb-optreden { border-radius: 14px 14px 0 0; border-top: 0; }
.fvkb-agenda .e-loop-item:last-child .fvkb-optreden { border-radius: 0 0 14px 14px; }
.fvkb-agenda .e-loop-item:has(.fvkb-maandkop:not(:empty)) .fvkb-optreden { border-top: 0; border-radius: 14px 14px 0 0; }
.fvkb-agenda .e-loop-item:has(+ .e-loop-item .fvkb-maandkop:not(:empty)) .fvkb-optreden { border-radius: 0 0 14px 14px; }
.fvkb-agenda .e-loop-item:has(.fvkb-maandkop:not(:empty)):has(+ .e-loop-item .fvkb-maandkop:not(:empty)) .fvkb-optreden,
.fvkb-agenda .e-loop-item:first-child:last-child .fvkb-optreden { border-radius: 14px; }
.fvkb-agenda .e-loop-item { background: transparent; }
.fvkb-agenda .fvkb-optreden { background: #FFF; }
.fvkb-voorbij .fvkb-optreden { opacity: .72; }
.fvkb-voorbij .fvkb-datum .fvkb-vaandel__doek { background-color: #4A4F72 !important; }
.fvkb-voorbij .fvkb-optreden__acties { display: none !important; }
.fvkb-optreden__titel a { color: inherit; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 5px; text-decoration-color: transparent; transition: text-decoration-color .25s; }
.fvkb-optreden__titel a:hover { text-decoration-color: var(--ultra); }
.fvkb-meta .elementor-icon-list-items { gap: 6px 28px; }

/* Agenda kort (home): drie datumvaandels aan de stang */
.fvkb-agenda-kort .e-loop-item a { color: inherit; }
.fvkb-agenda-kort .fvkb-optreden__titel a:hover { text-decoration-color: var(--koper); }

/* -------------------------------------------------------------------------
   Groepen
   ---------------------------------------------------------------------- */
.fvkb-groeprij-lijst .e-loop-item:nth-child(even) .fvkb-groeprij { flex-direction: row-reverse; }
@media (max-width: 1024px) {
	.fvkb-groeprij-lijst .e-loop-item:nth-child(even) .fvkb-groeprij { flex-direction: column; }
}
.fvkb-groeprij__beeld { position: relative; overflow: hidden; }
.fvkb-groeprij__beeld .fvkb-vaandel { position: absolute !important; left: 32px; top: 0; z-index: 2; }
.fvkb-zoom img { transition: transform .6s var(--zacht); }
.fvkb-zoom:hover img, a:hover .fvkb-zoom img, .e-loop-item:hover .fvkb-zoom img { transform: scale(1.04); }
.fvkb-zoom { overflow: hidden; }
.fvkb-geen-foto { background: var(--groep, #EAEBFB); }

/* Groepsvaandel in een rij aan de stang */
.fvkb-vlaggen .elementor-loop-container { align-items: start; }
.fvkb-vlaggen .e-loop-item a { text-decoration: none; }

/* Feitenkaartjes op de groepspagina */
.fvkb-feiten { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px; }
.fvkb-feit { background: #FFF; border-radius: 14px; padding: 28px; display: flex; flex-direction: column; gap: 14px; }
.fvkb-feit__icoon { width: 48px; height: 48px; border-radius: 8px; display: flex; align-items: center; justify-content: center; background: color-mix(in srgb, var(--groep, var(--ultra)) 12%, #FFF); color: var(--groep, var(--ultra)); }
.fvkb-feit__label { font-size: 14px; font-weight: 700; color: var(--grijs); }
.fvkb-feit__waarde { font-family: "Unbounded", sans-serif; font-size: 19px; font-weight: 600; line-height: 1.3; color: var(--navy); }

/* Fotoraster met lightbox */
.fvkb-fotos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.fvkb-fotos--1 { grid-template-columns: minmax(0, 1fr); }
.fvkb-fotos--2, .fvkb-fotos--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fvkb-foto { display: block; border-radius: 10px; overflow: hidden; background: var(--navy); aspect-ratio: 4 / 3; }
.fvkb-fotos--1 .fvkb-foto { aspect-ratio: 16 / 7; }
.fvkb-foto img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s var(--zacht); }
.fvkb-foto:hover img { transform: scale(1.04); }
@media (max-width: 767px) { .fvkb-fotos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } .fvkb-fotos--1 { grid-template-columns: 1fr; } }

/* Video: laadt pas na een klik */
.fvkb-video__start { position: relative; display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; padding: 0; border-radius: 14px; background: var(--navy) center / cover no-repeat; cursor: pointer; overflow: hidden; }
.fvkb-video__knop { position: absolute; left: 50%; top: 50%; width: 64px; height: 82px; margin: -41px 0 0 -32px; background: #FFF; clip-path: polygon(0 0, 100% 0, 100% 80%, 50% 100%, 0 80%); transition: transform .25s var(--zacht); }
.fvkb-video__knop::after { content: ""; position: absolute; left: 26px; top: 24px; border-left: 16px solid var(--navy); border-top: 10px solid transparent; border-bottom: 10px solid transparent; }
.fvkb-video__start:hover .fvkb-video__knop { transform: scale(1.08); }
.fvkb-video iframe { width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: 14px; display: block; }
.fvkb-video__noot { font-size: 14px; color: inherit; opacity: .8; margin: 10px 0 0; }

/* Elementor-videospeler: speelknop als vaandel */
.fvkb-videospeler .elementor-custom-embed-play { width: 64px; height: 82px; background: #FFF; clip-path: polygon(0 0, 100% 0, 100% 80%, 50% 100%, 0 80%); display: flex; align-items: center; justify-content: center; opacity: 1 !important; transition: transform .25s var(--zacht); }
.fvkb-videospeler .elementor-custom-embed-play svg, .fvkb-videospeler .elementor-custom-embed-play i { width: 22px !important; height: 22px !important; fill: var(--navy) !important; color: var(--navy) !important; filter: none !important; font-size: 22px !important; margin-top: -10px; }
.fvkb-videospeler:hover .elementor-custom-embed-play { transform: translate(-50%, -50%) scale(1.08); }
.fvkb-videospeler .elementor-wrapper { border-radius: 14px; overflow: hidden; }

/* -------------------------------------------------------------------------
   Fotoarchief
   ---------------------------------------------------------------------- */
.fvkb-album-tegel a { color: inherit; text-decoration: none; }
.fvkb-album-tegel .fvkb-jaarvaandel { position: absolute !important; left: 14px; top: 0; z-index: 2; }
.fvkb-mozaiek .elementor-loop-container { grid-auto-flow: dense; }
.fvkb-mozaiek .e-loop-item:first-child { grid-column: span 2; grid-row: span 2; }
.fvkb-mozaiek .e-loop-item:first-child .fvkb-album-tegel__beeld { aspect-ratio: auto; height: 100%; min-height: 380px; }
@media (max-width: 767px) { .fvkb-mozaiek .e-loop-item:first-child { grid-column: span 2; grid-row: auto; } .fvkb-mozaiek .e-loop-item:first-child .fvkb-album-tegel__beeld { min-height: 220px; } }

/* Jaartallen als vaandeltjes (taxonomiefilter) */
.fvkb-jaarfilter .e-filter { gap: 6px !important; align-items: flex-start; overflow-x: auto; scrollbar-width: none; padding-bottom: 12px; }
.fvkb-jaarfilter .e-filter::-webkit-scrollbar { display: none; }
.fvkb-jaarfilter .e-filter-item { position: relative; min-width: 56px; min-height: 64px; padding: 14px 8px 20px !important; border: 0 !important; border-radius: 0 !important; clip-path: polygon(0 0, 100% 0, 100% 72%, 50% 100%, 0 72%); font-family: "Unbounded", sans-serif !important; font-weight: 700 !important; font-size: 13px !important; transition: transform .25s var(--zacht), background-color .25s; }
.fvkb-jaarfilter .e-filter-item[aria-pressed="true"] { transform: translateY(6px); min-height: 72px; }
.fvkb-jaarfilter .e-filter-item:hover { transform: translateY(3px); }

/* Soortfilter en groepsfilter als chips */
.fvkb-chips .e-filter { gap: 10px !important; flex-wrap: wrap; }
.fvkb-chips .e-filter-item { min-height: 44px; padding: 0 16px !important; border-radius: 6px !important; font-weight: 700 !important; }

/* Album: navigatie vorige en volgende */
.fvkb-albumnav .elementor-post-navigation { gap: 20px; }

/* -------------------------------------------------------------------------
   Ons verhaal: verticale notenbalk als tijdlijn
   ---------------------------------------------------------------------- */
.fvkb-tijdlijn { position: relative; --balk-x: 20px; --balk-w: 50px; --sp: 12px; }
.fvkb-tijdlijn::before {
	content: ""; position: absolute; left: var(--balk-x); top: 0; bottom: 0; width: var(--balk-w);
	background: repeating-linear-gradient(to right, #AAB1EF 0 2px, transparent 2px var(--sp));
}
.fvkb-tijdlijn::after {
	content: ""; position: absolute; left: var(--balk-x); top: 0; width: var(--balk-w); height: var(--gespeeld, 0%);
	background: repeating-linear-gradient(to right, var(--koper) 0 2px, transparent 2px var(--sp));
	transition: height .15s linear;
}
.fvkb-hoofdstuk { position: relative; padding-left: calc(var(--balk-x) + var(--balk-w) + 56px) !important; z-index: 1; }
.fvkb-hoofdstuk::before {
	content: ""; position: absolute; top: 14px; width: 18px; height: 14px; border-radius: 50%;
	left: calc(var(--balk-x) + (var(--l, 2) * var(--sp)) - 8px);
	background: var(--noot, var(--navy)); transform: rotate(-20deg); box-shadow: 0 0 0 4px var(--papier);
	transition: transform .4s var(--zacht);
}
.fvkb-hoofdstuk::after {
	content: ""; position: absolute; top: -28px; left: var(--balk-x); width: var(--balk-w); height: 2px; background: var(--lijn);
}
.fvkb-hoofdstuk.is-gespeeld::before { transform: rotate(-20deg) scale(1.15); }
.fvkb-noot-1 { --l: 0; } .fvkb-noot-2 { --l: 1; } .fvkb-noot-3 { --l: 2; } .fvkb-noot-4 { --l: 3; } .fvkb-noot-5 { --l: 4; }
.fvkb-noot-gloed { --noot: var(--gloed); } .fvkb-noot-koper { --noot: var(--koper); } .fvkb-noot-ultra { --noot: var(--ultra); }
@media (max-width: 767px) {
	.fvkb-tijdlijn { --balk-x: 0px; --balk-w: 29px; --sp: 7px; }
	.fvkb-hoofdstuk { padding-left: 56px !important; }
	.fvkb-hoofdstuk::before { width: 14px; height: 11px; }
}

/* Partituur op de homepage: mijlpalen op een notenbalk */
.fvkb-partituur { position: relative; }
.fvkb-partituur__balk { position: relative; height: 41px; background: repeating-linear-gradient(to bottom, #AAB1EF 0 1px, transparent 1px 10px); }
.fvkb-partituur__balk::before, .fvkb-partituur__balk::after { content: ""; position: absolute; top: 0; bottom: 0; width: 2px; background: var(--navy); }
.fvkb-partituur__balk::before { left: 0; } .fvkb-partituur__balk::after { right: 0; width: 4px; }
.fvkb-mijlpaal { position: relative; }
.fvkb-mijlpaal::before { content: ""; position: absolute; left: -7px; width: 14px; height: 11px; border-radius: 50%; background: var(--noot, var(--navy)); transform: rotate(-20deg); }
.fvkb-mijlpaal--boven::before { bottom: -36px; }
.fvkb-mijlpaal--onder::before { top: -36px; }
.fvkb-mijlpaal { border-left: 2px solid var(--lijn); padding-left: 12px !important; }

/* -------------------------------------------------------------------------
   Sponsors
   ---------------------------------------------------------------------- */
.fvkb-sponsor { transition: border-color .25s, transform .25s var(--zacht); }
.fvkb-sponsor:hover { border-color: var(--ultra) !important; transform: translateY(-2px); }
.fvkb-sponsor img { max-height: 92px; width: auto !important; max-width: 100%; object-fit: contain; }

/* -------------------------------------------------------------------------
   Formulier: onderwerpkeuze als chips
   ---------------------------------------------------------------------- */
.fvkb-formulier .elementor-field-type-radio .elementor-field-subgroup { display: flex; flex-wrap: wrap; gap: 10px; }
.fvkb-formulier .elementor-field-type-radio .elementor-field-option { margin: 0 !important; }
.fvkb-formulier .elementor-field-type-radio input[type="radio"] { position: absolute; opacity: 0; width: 1px; height: 1px; }
.fvkb-formulier .elementor-field-type-radio label { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; border-radius: 6px; border: 2px solid var(--lijn); background: #FFF; font-weight: 700; cursor: pointer; transition: background-color .2s, border-color .2s, color .2s; }
.fvkb-formulier .elementor-field-type-radio input[type="radio"]:checked + label { background: var(--navy); border-color: var(--navy); color: #FFF; }
.fvkb-formulier .elementor-field-type-radio input[type="radio"]:focus-visible + label { outline: 2px solid var(--ultra); outline-offset: 3px; }
.fvkb-formulier input[type="text"], .fvkb-formulier input[type="email"], .fvkb-formulier input[type="date"], .fvkb-formulier input[type="tel"], .fvkb-formulier textarea { min-height: 52px; }
.fvkb-formulier .elementor-field-type-acceptance input[type="checkbox"] { accent-color: var(--ultra); }
.fvkb-formulier .elementor-message { font-weight: 700; }

/* Accordeon (veelgestelde vragen): plus- en minknop */
.fvkb-faq .e-n-accordion-item-title-icon span { width: 36px; height: 36px; border-radius: 50%; border: 2px solid currentColor; display: inline-flex; align-items: center; justify-content: center; }
.fvkb-faq .e-n-accordion-item[open] .e-n-accordion-item-title-icon span { background: var(--ultra); border-color: var(--ultra); color: #FFF; }
.fvkb-faq .e-n-accordion-item[open] .e-n-accordion-item-title-icon span svg { fill: #FFF; }

/* -------------------------------------------------------------------------
   Footer
   ---------------------------------------------------------------------- */
.fvkb-footer a { transition: color .2s, text-decoration-color .2s; }
.fvkb-footlinks .elementor-icon-list-item a:hover .elementor-icon-list-text { color: #FFF; text-decoration: underline; text-decoration-color: var(--koper); text-decoration-thickness: 2px; text-underline-offset: 5px; }

/* -------------------------------------------------------------------------
   Beweging: alleen als de bezoeker dat niet heeft uitgezet
   ---------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* Mobiel: kleinere maandkop */
@media (max-width: 767px) {
	.fvkb-maandkop { font-size: 22px; padding-top: 28px; }
}

/* Footer: vijf haarlijnen bovenaan */
.fvkb-footer > .e-con-inner::before { content: ""; display: block; height: 41px; background: repeating-linear-gradient(to bottom, #3E4166 0 1px, transparent 1px 10px); }
