/* =========================================================================
   FVKB ontwerplaag 2: onderdelen per pagina, maten uit het ontwerp
   ========================================================================= */

/* ---------- Stang zoals in het ontwerp: staaf van 8px met knoppen van 20px ---------- */
.fvkb-stang { padding-top: 14px !important; }
.fvkb-stang::before { top: 0; height: 8px; border-radius: 4px; left: 0; right: 0; background: #D9A43A !important; }
.fvkb-stang::after { content: ""; position: absolute; top: -6px; left: -6px; right: -6px; height: 20px; pointer-events: none;
	background: radial-gradient(circle at 10px 10px, #D9A43A 9.5px, transparent 10px) left top / 20px 20px no-repeat,
		radial-gradient(circle at 10px 10px, #D9A43A 9.5px, transparent 10px) right top / 20px 20px no-repeat; }
.fvkb-stang .elementor-loop-container, .fvkb-stang > .e-con-inner { margin-top: 0 !important; }

/* ---------- Home: agenda, drie datumvaandels aan de stang ---------- */
.fvkb-agenda-kort .elementor-loop-container { padding: 0 16px; gap: 24px 32px !important; }
.fvkb-agenda-kort .fvkb-zwaai { position: relative; gap: 22px !important; padding: 0 14px 18px !important; border-radius: 16px; transition: background-color .25s; }
.fvkb-agenda-kort .fvkb-zwaai:hover { background: #262A53; }
.fvkb-agenda-kort .fvkb-optreden__titel a::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: 16px; }
.fvkb-agenda-kort .fvkb-optreden__titel a:hover { text-decoration-color: transparent !important; }
.fvkb-agenda-kort .fvkb-datum, .fvkb-agenda-kort .fvkb-datum .fvkb-vaandel__doek { width: 92px !important; --width: 92px; min-height: 120px !important; }
.fvkb-agenda-kort .fvkb-datum .fvkb-vaandel__doek { padding-top: 18px !important; gap: 2px !important; }
.fvkb-agenda-kort .fvkb-datum::before { bottom: -9px; background: repeating-linear-gradient(90deg, #D9A43A 0 2px, transparent 2px 4px); }
.fvkb-agenda-kort .fvkb-datum__dag .elementor-heading-title { font-size: 34px !important; }
.fvkb-agenda-kort .fvkb-datum .elementor-widget-heading:not(.fvkb-datum__dag) .elementor-heading-title { font-size: 15px !important; }
.fvkb-agenda-kort .fvkb-zwaai > .e-con:not(.fvkb-vaandel) { padding-top: 20px !important; gap: 8px !important; }
.fvkb-agenda-kort .fvkb-optreden__titel .elementor-heading-title { font-size: 23px !important; }
.fvkb-agenda-kort .fvkb-meta { font-size: 16px; gap: 0; color: #D5D8F7; }
.fvkb-agenda-kort .fvkb-meta__item svg { display: none; }
.fvkb-agenda-kort .fvkb-meta__item + .fvkb-meta__item::before { content: ", "; white-space: pre; }
.fvkb-donker .fvkb-label { background: #262A53; color: #FFFFFF; padding: 3px 11px; }
@media (max-width: 760px) {
	.fvkb-agenda-kort .elementor-loop-container { padding: 0 4px; }
	.fvkb-agenda-kort .fvkb-zwaai { gap: 14px !important; padding: 0 4px 14px !important; }
	.fvkb-agenda-kort .fvkb-datum, .fvkb-agenda-kort .fvkb-datum .fvkb-vaandel__doek { width: 76px !important; --width: 76px; min-height: 98px !important; }
	.fvkb-agenda-kort .fvkb-datum__dag .elementor-heading-title { font-size: 28px !important; }
	.fvkb-agenda-kort .fvkb-optreden__titel .elementor-heading-title { font-size: 17px !important; }
}

/* ---------- Home: kop op telefoon zoals het ontwerp (foto boven, knoppen over de volle breedte) ---------- */
.fvkb-hero-img { border-radius: 14px; overflow: hidden; }
@media (max-width: 760px) {
	.fvkb-hero .elementor-widget-button { flex: 1 1 100%; }
	.fvkb-hero .elementor-widget-button .elementor-button { width: 100%; justify-content: center; }
	.fvkb-hero-img { border-radius: 10px; }
	.fvkb-hero-img img { height: 220px !important; }
}

/* ---------- Uitklapper (veelgestelde vragen) zoals het ontwerp ---------- */
.fvkb-faq .e-n-accordion { border-top: 1px solid #DAD7CD; gap: 0 !important; }
.fvkb-faq .e-n-accordion-item { border: 0 !important; border-bottom: 1px solid #DAD7CD !important; margin: 0 !important; }
.fvkb-faq .e-n-accordion-item-title { min-height: 64px; padding: 0 !important; border: 0 !important; background: transparent !important; gap: 16px; justify-content: space-between; }
.fvkb-faq .e-n-accordion-item-title-text { font-family: "Unbounded", sans-serif !important; font-size: 17px !important; font-weight: 600 !important; line-height: 1.3 !important; color: #0E1240 !important; }
.fvkb-faq .e-n-accordion-item-title-icon span { width: 36px !important; height: 36px !important; border-radius: 50%; border: 2px solid #0E1240 !important; box-sizing: border-box; background: transparent !important; display: inline-flex !important; align-items: center; justify-content: center; }
.fvkb-faq .e-n-accordion-item-title-icon svg { width: 14px !important; height: 14px !important; fill: #0E1240 !important; }
.fvkb-faq .e-n-accordion-item[open] .e-n-accordion-item-title-icon span { background: #2B3BD6 !important; border-color: #2B3BD6 !important; }
.fvkb-faq .e-n-accordion-item[open] .e-n-accordion-item-title-icon svg { fill: #FFFFFF !important; }
.fvkb-faq .e-n-accordion-item > [role="region"], .fvkb-faq .e-n-accordion-item > .e-con { border: 0 !important; background: transparent !important; padding: 0 52px 20px 0 !important; }
.fvkb-faq .e-n-accordion-item > [role="region"] p { font-size: 17px; color: #3E4166; }
.fvkb-donker .fvkb-faq .e-n-accordion, .fvkb-donker .fvkb-faq .e-n-accordion-item { border-color: #3E4166 !important; }
.fvkb-donker .fvkb-faq .e-n-accordion-item-title-text { color: #FFFFFF !important; }
.fvkb-donker .fvkb-faq .e-n-accordion-item-title-icon span { border-color: #FFFFFF !important; }
.fvkb-donker .fvkb-faq .e-n-accordion-item-title-icon svg { fill: #FFFFFF !important; }
.fvkb-donker .fvkb-faq .e-n-accordion-item > [role="region"] p { color: #D5D8F7; }

/* ---------- Sociale knoppen op donker (video) ---------- */
.fvkb-sociaal .elementor-button { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 18px !important; border: 2px solid #3E4166 !important; border-radius: 6px; background: transparent !important; color: #FFFFFF !important; font-size: 16px !important; font-weight: 700 !important; }
.fvkb-sociaal .elementor-button:hover { background: #FFFFFF !important; border-color: #FFFFFF !important; color: #0E1240 !important; transform: none; }
.fvkb-sociaal .elementor-button svg { fill: currentColor !important; }
.fvkb-sociaal .elementor-button .elementor-button-icon { transform: none !important; }

/* ---------- Video op donker ---------- */
.fvkb-donker .fvkb-videospeler .elementor-wrapper { background: #000; }

/* ---------- Albumtegels: basis (pagina Foto's en meer albums) ---------- */
.fvkb-album-tegel { gap: 10px !important; }
.fvkb-album-tegel__beeld { border-radius: 10px !important; aspect-ratio: 4 / 3; height: auto !important; min-height: 0 !important; }
.fvkb-album-tegel__beeld > .elementor-widget-image, .fvkb-album-tegel__beeld > .elementor-widget-image > a,
.fvkb-album-tegel__beeld > .elementor-widget-image img { height: 100% !important; width: 100% !important; }
.fvkb-album-tegel__beeld > .elementor-widget-image { position: absolute !important; inset: 0; }
.fvkb-album-tegel__beeld img { object-fit: cover; border-radius: 10px !important; transition: transform .5s cubic-bezier(.2,.8,.2,1); }
.fvkb-album-tegel:hover .fvkb-album-tegel__beeld img { transform: scale(1.04); }
.fvkb-album-tegel .fvkb-jaarvaandel { left: 14px !important; width: 48px !important; --width: 48px; }
.fvkb-album-tegel .fvkb-jaarvaandel, .fvkb-album-tegel .fvkb-jaarvaandel .fvkb-vaandel__doek { width: 48px !important; min-height: 62px !important; height: 62px !important; }
.fvkb-album-tegel .fvkb-jaarvaandel .fvkb-vaandel__doek { padding-top: 14px !important; }
.fvkb-album-tegel .fvkb-jaarvaandel::before { bottom: -5px; background: repeating-linear-gradient(90deg, #D9A43A 0 2px, transparent 2px 4px); }
.fvkb-album-tegel .fvkb-jaarvaandel .elementor-heading-title { font-size: 11px !important; line-height: 1 !important; }
.fvkb-album-tegel .fvkb-soortchip { right: 12px !important; bottom: 12px !important; }
.fvkb-album-tegel .fvkb-soortchip .elementor-heading-title { display: inline-flex !important; align-items: center; gap: 6px; padding: 3px 10px !important; border-radius: 6px; background: #FFFFFF; font-size: 13px !important; font-weight: 700 !important; color: #0E1240 !important; }
.fvkb-album-tegel .fvkb-soortchip .elementor-heading-title::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--soort, #0E1240); flex: none; }
.e-loop-item.album_soort-concerten { --soort: #E8643C; }
.e-loop-item.album_soort-op-straat { --soort: #2B3BD6; }
.e-loop-item.album_soort-feesten { --soort: #D9A43A; }
.e-loop-item.album_soort-fotoshoots { --soort: #C93C7A; }
.e-loop-item.album_soort-achter-de-schermen { --soort: #0F7A66; }
.fvkb-album-tegel__titel .elementor-heading-title { font-size: 16px !important; font-weight: 600 !important; line-height: 1.3 !important; }
.fvkb-album-tegel__titel .elementor-heading-title { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 5px; text-decoration-color: transparent; transition: text-decoration-color .25s; }
.fvkb-album-tegel:hover .fvkb-album-tegel__titel .elementor-heading-title { text-decoration-color: #2B3BD6; }
.fvkb-albummeta { display: none; }

/* ---------- Albumtegels op de homepage: mozaiek uit het ontwerp ---------- */
.fvkb-mozaiek .elementor-loop-container { gap: 24px 16px !important; }
.fvkb-mozaiek .fvkb-album-tegel__beeld { aspect-ratio: auto; height: 146px !important; }
.fvkb-mozaiek .fvkb-album-tegel .fvkb-jaarvaandel { left: 16px !important; }
.fvkb-mozaiek .fvkb-album-tegel .fvkb-jaarvaandel, .fvkb-mozaiek .fvkb-album-tegel .fvkb-jaarvaandel .fvkb-vaandel__doek { width: 52px !important; height: 66px !important; min-height: 66px !important; }
.fvkb-mozaiek .fvkb-album-tegel .fvkb-jaarvaandel::before { bottom: -6px; }
.fvkb-mozaiek .fvkb-album-tegel .fvkb-jaarvaandel .elementor-heading-title { font-size: 12px !important; }
.fvkb-mozaiek .fvkb-soortchip { display: none !important; }
.fvkb-mozaiek .e-loop-item:first-of-type .fvkb-album-tegel { gap: 12px !important; }
.fvkb-mozaiek .e-loop-item:first-of-type .fvkb-album-tegel__beeld { height: 100% !important; min-height: 380px !important; border-radius: 12px !important; }
.fvkb-mozaiek .e-loop-item:first-of-type .fvkb-album-tegel__beeld img { border-radius: 12px !important; }
.fvkb-mozaiek .e-loop-item:first-of-type .fvkb-jaarvaandel { left: 22px !important; }
.fvkb-mozaiek .e-loop-item:first-of-type .fvkb-jaarvaandel, .fvkb-mozaiek .e-loop-item:first-of-type .fvkb-jaarvaandel .fvkb-vaandel__doek { width: 60px !important; height: 78px !important; min-height: 78px !important; }
.fvkb-mozaiek .e-loop-item:first-of-type .fvkb-jaarvaandel .fvkb-vaandel__doek { padding-top: 18px !important; }
.fvkb-mozaiek .e-loop-item:first-of-type .fvkb-jaarvaandel::before { bottom: -7px; }
.fvkb-mozaiek .e-loop-item:first-of-type .fvkb-jaarvaandel .elementor-heading-title { font-size: 14px !important; }
.fvkb-mozaiek .e-loop-item:first-of-type .fvkb-album-tegel__beeld::after { content: "Nieuw album"; position: absolute; right: 16px; top: 16px; z-index: 2; display: inline-flex; padding: 5px 12px; border-radius: 6px; background: #EAEBFB; color: #2431B0; font-size: 13px; font-weight: 700; line-height: 1.3; }
.fvkb-mozaiek .e-loop-item:first-of-type .fvkb-album-tegel__titel .elementor-heading-title { font-size: 20px !important; }
.fvkb-mozaiek .e-loop-item:first-of-type .fvkb-albummeta { display: inline-flex; }
.fvkb-albummeta { align-items: center; gap: 8px; font-size: 14px; font-weight: 700; color: #3E4166; }
.fvkb-albummeta i { width: 10px; height: 10px; border-radius: 50%; flex: none; }
@media (max-width: 1080px) {
	.fvkb-mozaiek .fvkb-album-tegel__beeld { height: 220px !important; }
	.fvkb-mozaiek .e-loop-item:first-of-type .fvkb-album-tegel__beeld { min-height: 380px !important; }
}
@media (max-width: 760px) {
	.fvkb-mozaiek .fvkb-album-tegel__beeld { height: 150px !important; }
	.fvkb-mozaiek .e-loop-item:first-of-type .fvkb-album-tegel__beeld { min-height: 240px !important; }
	.fvkb-mozaiek .fvkb-album-tegel__titel .elementor-heading-title { font-size: 13px !important; }
}

/* ---------- Home: kicker in de kop is wit met een gouden vaandeltje ---------- */
.fvkb-hero .fvkb-kicker .elementor-heading-title::before { background: linear-gradient(#E1B661, #E1B661) top center / 22px 2px no-repeat, linear-gradient(#D9A43A, #D9A43A) 4px 2px / 13px 17px no-repeat; }
.fvkb-donker .fvkb-kicker .elementor-heading-title::before { background: linear-gradient(#E1B661, #E1B661) top center / 20px 2px no-repeat, linear-gradient(#D9A43A, #D9A43A) 4px 2px / 12px 16px no-repeat; }

/* ---------- Home: partituur in een witte kaart, op kleine schermen een lijst ---------- */
.fvkb-partituurkaart ol { list-style: none; margin: 0; padding: 0; }
.fvkb-partituurkaart li { margin: 0; }
.fvkb-tijdlijst-o { display: none; gap: 18px; }
.fvkb-partituurkaart .elementor-widget-html p { margin: 0; }
@media (max-width: 900px) {
	.fvkb-partituur-o { display: none !important; }
	.fvkb-tijdlijst-o { display: grid; }
}

/* ---------- Home: wanneer en waar op een regel, zoals in het ontwerp ---------- */
.fvkb-agenda-kort .fvkb-meta { display: block; }
.fvkb-agenda-kort .fvkb-meta__item { display: inline; }
