/* =========================================================================
   FVKB ontwerplaag 7: kop en voet van de site
   ========================================================================= */

/* ---------- Kop, desktop ---------- */
.fvkb-header .elementor-nav-menu--main .elementor-item { padding-left: 0 !important; padding-right: 0 !important; transition: color .25s; }
.fvkb-header .elementor-nav-menu--main .elementor-item.elementor-item-active,
.fvkb-header .elementor-nav-menu--main .current-menu-ancestor > .elementor-item { text-underline-offset: 9px; }
.fvkb-header .elementor-nav-menu--main .sub-arrow svg, .fvkb-header .elementor-nav-menu--main .sub-arrow i { transition: transform .25s cubic-bezier(.2,.8,.2,1); }
.fvkb-header .elementor-nav-menu--main li.menu-item-has-children:hover > a .sub-arrow svg,
.fvkb-header .elementor-nav-menu--main li.menu-item-has-children:focus-within > a .sub-arrow svg,
.fvkb-header .elementor-nav-menu--main li.menu-item-has-children:hover > a .sub-arrow i { transform: rotate(180deg); }
.fvkb-header .elementor-nav-menu--main .sub-menu { min-width: 270px !important; margin-left: -18px !important; animation: fvkb-submenu .25s cubic-bezier(.2,.8,.2,1); }
@keyframes fvkb-submenu { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.fvkb-header .elementor-nav-menu--main .sub-menu a { display: flex !important; align-items: center; padding: 10px 12px !important; font-size: 16px !important; font-weight: 600 !important; }
.fvkb-header .elementor-nav-menu--main .sub-menu a::before { margin-right: 12px !important; }
.fvkb-header .sub-menu li:nth-child(1) a { --dot: #8089E6 !important; }
.fvkb-header .elementor-widget-button .elementor-button { min-height: 44px; padding: 0 20px !important; display: inline-flex; align-items: center; font-size: 16px !important; font-weight: 600 !important; }
.fvkb-header .elementor-widget-button { margin-left: 22px; }

/* ---------- Kop, menuknop en paneel (tablet en mobiel) ---------- */
.fvkb-header .elementor-menu-toggle { display: none; width: auto !important; min-height: 44px; gap: 8px; padding: 0 16px !important; border: 2px solid #3E4166 !important; border-radius: 6px !important; background: transparent !important; color: #FFFFFF !important; font-size: 15px; font-weight: 700; transition: border-color .25s; }
.fvkb-header .elementor-menu-toggle:hover { border-color: #FFFFFF !important; }
.fvkb-header .elementor-menu-toggle::after { content: "Menu"; font-family: "Figtree", sans-serif; font-size: 15px; font-weight: 700; line-height: 1; }
.fvkb-header .elementor-menu-toggle.elementor-active::after { content: "Sluit"; }
.fvkb-header .elementor-menu-toggle svg { width: 20px !important; height: 20px !important; }
@media (max-width: 1024px) {
	.fvkb-header .elementor-menu-toggle { display: inline-flex !important; align-items: center; }
	.fvkb-header .elementor-nav-menu--dropdown { background: #0E1240 !important; border-top: 1px solid #3E4166; box-shadow: none !important; padding: 4px 20px 28px !important; }
	.fvkb-header .elementor-nav-menu--dropdown .elementor-item { display: flex !important; align-items: center; justify-content: space-between; min-height: 60px; padding: 0 !important; border-bottom: 1px solid #262A53; background: transparent !important; color: #FFFFFF !important; font-family: "Unbounded", sans-serif !important; font-size: 20px !important; font-weight: 600 !important; text-decoration: none !important; }
	.fvkb-header .elementor-nav-menu--dropdown .elementor-item::after { content: ""; width: 20px; height: 20px; flex: 0 0 20px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D9A43A' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / 20px no-repeat; transition: transform .25s cubic-bezier(.2,.8,.2,1); }
	.fvkb-header .elementor-nav-menu--dropdown .elementor-item:hover::after { transform: translateX(4px); }
	.fvkb-header .elementor-nav-menu--dropdown .elementor-item.elementor-item-active { color: #E1B661 !important; }
	.fvkb-header .elementor-nav-menu--dropdown .sub-menu, .fvkb-header .elementor-nav-menu--dropdown .sub-arrow { display: none !important; }
	.fvkb-header .elementor-nav-menu--dropdown > ul > li { animation: opkomst .25s cubic-bezier(.2,.8,.2,1) both; }
	.fvkb-header .elementor-nav-menu--dropdown > ul > li:nth-child(2) { animation-delay: 40ms; }
	.fvkb-header .elementor-nav-menu--dropdown > ul > li:nth-child(3) { animation-delay: 80ms; }
	.fvkb-header .elementor-nav-menu--dropdown > ul > li:nth-child(4) { animation-delay: 120ms; }
	.fvkb-header .elementor-nav-menu--dropdown > ul > li:nth-child(5) { animation-delay: 160ms; }
	.fvkb-header .elementor-nav-menu--dropdown > ul > li:nth-child(6) { animation-delay: 200ms; }
	.fvkb-header .elementor-nav-menu--dropdown > ul > li:nth-child(7) { animation-delay: 240ms; }
}
@media (max-width: 767px) {
	.fvkb-merk .elementor-widget-image img { width: 44px !important; height: 44px !important; }
	.fvkb-merk .elementor-widget-heading:first-child .elementor-heading-title, .fvkb-merk .elementor-element-d54c1e5 .elementor-heading-title { font-size: 14px !important; }
	.fvkb-merk .elementor-element-5710c35 { display: none !important; }
}

/* ---------- Voet ---------- */
.fvkb-footer > .e-con-inner { padding-top: 0 !important; padding-bottom: 0 !important; gap: 0 !important; }
.fvkb-footer > .e-con-inner::before { background: repeating-linear-gradient(to bottom, rgba(217, 164, 58, .5) 0 1px, transparent 1px 10px) !important; }
.fvkb-footer > .e-con-inner > .e-con:first-of-type { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); gap: 32px !important; padding: 48px 0 36px !important; font-size: 15px; }
.fvkb-footer > .e-con-inner > .e-con:first-of-type > .e-con:nth-child(2) { display: contents !important; }
.fvkb-footer > .e-con-inner > .e-con:first-of-type .e-con { width: auto !important; --width: auto; gap: 8px !important; }
.fvkb-footer > .e-con-inner > .e-con:first-of-type > .e-con:first-child { gap: 12px !important; }
.fvkb-footer .elementor-widget-image img { width: 72px !important; height: 72px !important; }
.fvkb-footer .fvkb-footlinks .elementor-icon-list-text { font-size: 15px !important; color: #D5D8F7; }
.fvkb-footer > .e-con-inner > .e-con:last-of-type { padding: 18px 0 28px !important; border-top: 1px solid #3E4166 !important; font-size: 13px; }
.fvkb-footer > .e-con-inner > .e-con:last-of-type .elementor-widget-text-editor,
.fvkb-footer > .e-con-inner > .e-con:last-of-type .elementor-icon-list-text { font-size: 13px !important; }

/* Logo krimpt niet: 56 px op desktop zoals in het ontwerp */
.fvkb-merk { width: auto !important; --width: auto; min-width: 0; }
.fvkb-merk .elementor-widget-image { flex-shrink: 0 !important; }

/* Kit-linkkleur (.elementor-kit-5 a) wint anders van de chips */
a.fvkb-a-chip, a.fvkb-a-chip:hover { color: #FFFFFF; }
a.fvkb-a-chip[aria-current] { color: #0E1240; }
a.fvkb-f-chip, a.fvkb-f-chip:hover { color: #0E1240; }
a.fvkb-f-chip[aria-current], a.fvkb-f-chip[aria-current]:hover { color: #FFFFFF; }
@media (max-width: 1024px) { .fvkb-header .elementor-nav-menu--dropdown .elementor-item::after { position: static !important; opacity: 1 !important; transform: none; inset: auto !important; } }

/* Tablet: alleen de menuknop, Contact staat in het menu (zoals in het ontwerp) */
@media (max-width: 1024px) { .fvkb-header .elementor-widget-button { display: none !important; } }
