/* Sectie container */
.elementor-element-248cd3ba {
position: relative !important;
overflow: hidden !important;
background: linear-gradient(135deg, #1a3c5e 0%, #0d2a47 50%, #1a3c5e 100%) !important;
padding: 40px 0 !important;
}
.pv-hero-bg {
position: absolute !important;
top: 0; left: 0;
width: 100%; height: 100%;
z-index: 0;
pointer-events: none;
}
.elementor-element-248cd3ba .elementor-widget-wrap > * {
position: relative;
z-index: 2;
}
/* Breadcrumb op donkere achtergrond */
.elementor-element-248cd3ba #breadcrumbs,
.elementor-element-248cd3ba #breadcrumbs a,
.elementor-element-248cd3ba #breadcrumbs span {
color: rgba(255,255,255,.75) !important;
font-family: Poppins, sans-serif !important;
font-size: 13px !important;
font-weight: 500 !important;
}
.elementor-element-248cd3ba #breadcrumbs a:hover { color: #f0a500 !important; }
.elementor-element-248cd3ba #breadcrumbs .breadcrumb_last {
color: #f0a500 !important;
font-weight: 600 !important;
}
/* Titel */
.elementor-element-248cd3ba h1.elementor-heading-title {
color: #fff !important;
font-family: Poppins, sans-serif !important;
font-weight: 700 !important;
font-size: 42px !important;
letter-spacing: -.5px !important;
margin-top: 8px !important;
text-shadow: 0 2px 20px rgba(0,0,0,.2);
}
.elementor-element-248cd3ba h1.elementor-heading-title::after {
content: '';
display: block;
width: 60px;
height: 3px;
background: #f0a500;
margin-top: 14px;
border-radius: 2px;
animation: pv-line-pulse 3s ease-in-out infinite;
}
/* ── AUTOMATISCHE BEWEGINGEN ── */
/* Parallax lagen — automatische drift (verschillende snelheden en richtingen) */
@keyframes pv-drift-slow {
0% { transform: translate(0, 0); }
25% { transform: translate(15px, -8px); }
50% { transform: translate(-10px, -15px); }
75% { transform: translate(-18px, 5px); }
100% { transform: translate(0, 0); }
}
@keyframes pv-drift-medium {
0% { transform: translate(0, 0); }
25% { transform: translate(-20px, 10px); }
50% { transform: translate(12px, 18px); }
75% { transform: translate(22px, -8px); }
100% { transform: translate(0, 0); }
}
@keyframes pv-drift-fast {
0% { transform: translate(0, 0); }
33% { transform: translate(25px, -15px); }
66% { transform: translate(-15px, 20px); }
100% { transform: translate(0, 0); }
}
.pv-layer-slow { animation: pv-drift-slow 18s ease-in-out infinite; }
.pv-layer-medium { animation: pv-drift-medium 14s ease-in-out infinite; }
.pv-layer-fast { animation: pv-drift-fast 11s ease-in-out infinite; }
/* Wrapper voor mouse-parallax (bovenop de auto-drift) */
.pv-parallax-wrap { transition: transform .6s cubic-bezier(.22,1,.36,1); }
/* Veer-animaties (extra organische wiebel) */
@keyframes pv-feather-1 {
0%, 100% { transform: translate(0,0) rotate(-8deg); }
50% { transform: translate(10px, -15px) rotate(5deg); }
}
@keyframes pv-feather-2 {
0%, 100% { transform: translate(0,0) rotate(12deg); }
50% { transform: translate(-8px, -12px) rotate(22deg); }
}
@keyframes pv-feather-3 {
0%, 100% { transform: translate(0,0) rotate(-20deg); }
50% { transform: translate(6px, -18px) rotate(-8deg); }
}
/* Vliegende vogels — automatische horizontale reis */
@keyframes pv-fly-1 {
0% { transform: translate(-60px, 20px) scale(.8); opacity: 0; }
8% { opacity: .6; }
92% { opacity: .6; }
100% { transform: translate(1500px, -40px) scale(1); opacity: 0; }
}
@keyframes pv-fly-2 {
0% { transform: translate(1500px, 40px) scale(.9); opacity: 0; }
10% { opacity: .5; }
90% { opacity: .5; }
100% { transform: translate(-100px, 10px) scale(.7); opacity: 0; }
}
@keyframes pv-fly-3 {
0% { transform: translate(-40px, 150px) scale(.7); opacity: 0; }
15% { opacity: .35; }
85% { opacity: .35; }
100% { transform: translate(1500px, 60px) scale(.9); opacity: 0; }
}
/* Pulserende orbs */
@keyframes pv-pulse-1 {
0%, 100% { opacity: .35; transform: scale(1); }
50% { opacity: .65; transform: scale(1.15); }
}
@keyframes pv-pulse-2 {
0%, 100% { opacity: .25; transform: scale(1.1); }
50% { opacity: .55; transform: scale(.95); }
}
/* Vleugel klappen */
@keyframes pv-wing {
0%, 100% { transform: scaleY(1); }
50% { transform: scaleY(.25); }
}
/* Gouden lijn onder titel pulseert */
@keyframes pv-line-pulse {
0%, 100% { width: 60px; opacity: 1; }
50% { width: 90px; opacity: .7; }
}
/* Apply animations */
.pv-feather-1 { animation: pv-feather-1 8s ease-in-out infinite; transform-origin: center; }
.pv-feather-2 { animation: pv-feather-2 10s ease-in-out infinite; transform-origin: center; }
.pv-feather-3 { animation: pv-feather-3 12s ease-in-out infinite; transform-origin: center; }
.pv-bird-1 { animation: pv-fly-1 22s linear infinite; }
.pv-bird-2 { animation: pv-fly-2 28s linear infinite; animation-delay: 8s; }
.pv-bird-3 { animation: pv-fly-3 32s linear infinite; animation-delay: 15s; }
.pv-orb-1 { animation: pv-pulse-1 6s ease-in-out infinite; transform-origin: center; transform-box: fill-box; }
.pv-orb-2 { animation: pv-pulse-2 8s ease-in-out infinite; transform-origin: center; transform-box: fill-box; }
.pv-orb-3 { animation: pv-pulse-1 7s ease-in-out infinite; animation-delay: 2s; transform-origin: center; transform-box: fill-box; }
.pv-wing-flap { animation: pv-wing .35s ease-in-out infinite; transform-origin: center; }
.pv-wing-flap-2 { animation: pv-wing .45s ease-in-out infinite; transform-origin: center; }
.pv-wing-flap-3 { animation: pv-wing .4s ease-in-out infinite; transform-origin: center; }
/* Respecteer "reduced motion" voorkeur */
@media (prefers-reduced-motion: reduce) {
.pv-layer-slow, .pv-layer-medium, .pv-layer-fast,
.pv-feather-1, .pv-feather-2, .pv-feather-3,
.pv-bird-1, .pv-bird-2, .pv-bird-3,
.pv-orb-1, .pv-orb-2, .pv-orb-3,
.pv-wing-flap, .pv-wing-flap-2, .pv-wing-flap-3 {
animation: none !important;
}
}
@media (max-width: 768px) {
.elementor-element-248cd3ba h1.elementor-heading-title { font-size: 28px !important; }
.elementor-element-248cd3ba { padding: 30px 0 !important; }
}
(function(){
function initMouseParallax(){
var section = document.querySelector('.elementor-element-248cd3ba');
if(!section) return;
var wraps = section.querySelectorAll('.pv-parallax-wrap');
if(!wraps.length) return;
// Mouse-parallax als BONUS bovenop de auto-animaties
section.addEventListener('mousemove', function(e){
var rect = section.getBoundingClientRect();
var x = (e.clientX - rect.left - rect.width/2) / rect.width;
var y = (e.clientY - rect.top - rect.height/2) / rect.height;
wraps.forEach(function(wrap){
var depth = parseFloat(wrap.dataset.depth) || 0.03;
wrap.style.transform = 'translate(' + (x * depth * 800) + 'px,' + (y * depth * 400) + 'px)';
});
});
section.addEventListener('mouseleave', function(){
wraps.forEach(function(wrap){ wrap.style.transform = 'translate(0,0)'; });
});
}
document.readyState === 'loading'
? document.addEventListener('DOMContentLoaded', initMouseParallax)
: setTimeout(initMouseParallax, 200);
})();
nav.woocommerce-breadcrumb {
display: block !important;
}
.pv-sidebar{background:#fff;border-radius:18px;border:1px solid #eaeaea;overflow:hidden;position:sticky;top:100px;}
.pv-sidebar-title{padding:18px 20px;background:#f8f5f0;border-bottom:1px solid #eaeaea;font-size:13px;font-weight:700;color:#1a3c5e;text-transform:uppercase;letter-spacing:1.5px;font-family:Poppins,sans-serif;display:flex;align-items:center;gap:10px;}
.pv-filter-item{display:flex;align-items:center;padding:13px 20px;border-bottom:1px solid #f0f0f0;cursor:pointer;font-size:14px;font-weight:500;color:#333;font-family:Poppins,sans-serif;transition:background .15s,color .15s;text-decoration:none;border-left:3px solid transparent;}
.pv-filter-item:hover{background:#fff8ec;color:#f0a500;border-left-color:#f0a500;}
.pv-filter-item.pv-active{background:#fff8ec;color:#f0a500;font-weight:600;border-left-color:#f0a500;}
.pv-deals-btn{display:flex;align-items:center;gap:10px;background:#f0a500;color:#fff;padding:14px 20px;font-size:14px;font-weight:700;font-family:Poppins,sans-serif;text-decoration:none;transition:background .2s;}
.pv-deals-btn:hover{background:#d49000;color:#fff;}
.woocommerce ul.products li.product a img{border-radius:12px!important;transition:transform .3s cubic-bezier(.22,1,.36,1)!important;}
.woocommerce ul.products li.product:hover a img{transform:scale(1.04)!important;}
.woocommerce ul.products li.product{border-radius:16px!important;overflow:hidden;box-shadow:0 3px 16px rgba(0,0,0,.07)!important;transition:box-shadow .3s,transform .3s!important;background:#fff!important;}
.woocommerce ul.products li.product:hover{box-shadow:0 12px 40px rgba(26,60,94,.14)!important;transform:translateY(-5px)!important;}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:Poppins,sans-serif!important;font-size:13px!important;font-weight:600!important;color:#1a3c5e!important;}
.woocommerce ul.products li.product .price{color:#f0a500!important;font-weight:700!important;font-family:Poppins,sans-serif!important;}
.woocommerce ul.products li.product ins{text-decoration:none!important;}
.woocommerce ul.products li.product del{opacity:.5!important;}
.woocommerce a.button,.woocommerce button.button,.woocommerce a.button.alt,.woocommerce button.button.alt{background:#1a3c5e!important;color:#fff!important;border-radius:50px;font-weight:700!important;font-family:Poppins,sans-serif!important;font-size:13px!important;padding:10px 18px!important;transition:background .2s,transform .2s!important;}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{background:#f0a500!important;transform:translateY(-2px)!important;}
.woocommerce span.onsale{background:#f0a500!important;border-radius:50%!important;font-family:Poppins,sans-serif!important;font-weight:700!important;}
.woocommerce .star-rating span::before,.woocommerce .star-rating::before{color:#f0a500!important;}
.woocommerce-result-count{color:#888!important;font-family:Poppins,sans-serif!important;font-size:14px!important;}
.woocommerce-ordering{display:none!important;}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{color:#1a3c5e!important;border-color:#e0e0e0!important;border-radius:8px!important;font-family:Poppins,sans-serif!important;transition:background .2s,color .2s!important;}
.woocommerce nav.woocommerce-pagination ul li a:hover,.woocommerce nav.woocommerce-pagination ul li span.current{background:#f0a500!important;color:#fff!important;border-color:#f0a500!important;}
/* ── WPF FILTER STYLING ── */
.wpf-wrap {
background: #fff;
border-radius: 18px;
border: 1px solid #eaeaea;
overflow: hidden;
font-family: Poppins, sans-serif !important;
}
/* Prijsslider sectie */
.wpf-filter-price {
padding: 20px 20px 16px !important;
border-bottom: 1px solid #f0f0f0;
}
.wpf-price-slider .ui-slider {
background: #f0f0f0 !important;
border: none !important;
height: 4px !important;
border-radius: 4px !important;
}
.wpf-price-slider .ui-slider-range {
background: #f0a500 !important;
}
.wpf-price-slider .ui-slider-handle {
background: #fff !important;
border: 2px solid #f0a500 !important;
border-radius: 50% !important;
width: 18px !important;
height: 18px !important;
top: -7px !important;
cursor: grab !important;
box-shadow: 0 2px 8px rgba(240,165,0,.3) !important;
outline: none !important;
}
.wpf-price-slider .ui-slider-handle:active { cursor: grabbing !important; }
.wpf-price-amount {
font-family: Poppins, sans-serif !important;
font-size: 13px !important;
font-weight: 600 !important;
color: #1a3c5e !important;
margin-top: 10px !important;
}
/* Sorteer dropdown */
.wpf-filter-orderby {
padding: 16px 20px !important;
border-bottom: 1px solid #f0f0f0;
}
.wpf-filter-orderby select {
width: 100% !important;
border: 1.5px solid #e0e0e0 !important;
border-radius: 50px !important;
padding: 10px 16px !important;
font-family: Poppins, sans-serif !important;
font-size: 13px !important;
font-weight: 500 !important;
color: #333 !important;
appearance: none !important;
background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 14px center !important;
cursor: pointer !important;
transition: border-color .2s !important;
}
.wpf-filter-orderby select:focus {
border-color: #f0a500 !important;
outline: none !important;
}
/* Filter groep koppen (Merk, Kleur, Maat) */
.wpf-filter-title {
padding: 16px 20px 10px !important;
font-family: Poppins, sans-serif !important;
font-size: 12px !important;
font-weight: 700 !important;
color: #1a3c5e !important;
text-transform: uppercase !important;
letter-spacing: 1.2px !important;
display: flex !important;
align-items: center !important;
justify-content: space-between !important;
cursor: pointer !important;
}
.wpf-filter-title .wpf-filter-toggle {
color: #f0a500 !important;
font-size: 18px !important;
line-height: 1 !important;
font-weight: 300 !important;
}
/* Filter items container */
.wpf-filter-content {
padding: 0 20px 14px !important;
border-bottom: 1px solid #f0f0f0;
max-height: 200px !important;
overflow-y: auto !important;
scrollbar-width: thin !important;
scrollbar-color: #f0a500 #f0f0f0 !important;
}
.wpf-filter-content::-webkit-scrollbar { width: 4px !important; }
.wpf-filter-content::-webkit-scrollbar-track { background: #f0f0f0 !important; }
.wpf-filter-content::-webkit-scrollbar-thumb { background: #f0a500 !important; border-radius: 4px !important; }
/* Checkboxes */
.wpf-filter-content li {
list-style: none !important;
padding: 5px 0 !important;
}
.wpf-filter-content li label {
display: flex !important;
align-items: center !important;
gap: 10px !important;
font-family: Poppins, sans-serif !important;
font-size: 13px !important;
font-weight: 500 !important;
color: #444 !important;
cursor: pointer !important;
transition: color .15s !important;
}
.wpf-filter-content li label:hover { color: #f0a500 !important; }
.wpf-filter-content li input[type="checkbox"] {
appearance: none !important;
width: 16px !important;
height: 16px !important;
border: 1.5px solid #d0d0d0 !important;
border-radius: 4px !important;
background: #fff !important;
flex-shrink: 0 !important;
cursor: pointer !important;
transition: all .15s !important;
position: relative !important;
}
.wpf-filter-content li input[type="checkbox"]:checked {
background: #f0a500 !important;
border-color: #f0a500 !important;
}
.wpf-filter-content li input[type="checkbox"]:checked::after {
content: '' !important;
position: absolute !important;
left: 4px !important; top: 1px !important;
width: 5px !important; height: 9px !important;
border: 2px solid #fff !important;
border-top: none !important; border-left: none !important;
transform: rotate(45deg) !important;
display: block !important;
}
/* Count badges */
.wpf-filter-content li .wpf-count {
margin-left: auto !important;
font-size: 11px !important;
color: #aaa !important;
font-weight: 400 !important;
}
/* Filter toepassen knop */
.wpf-submit-btn, .wpf-button {
display: block !important;
width: calc(100% - 40px) !important;
margin: 16px 20px !important;
background: #1a3c5e !important;
color: #fff !important;
border: none !important;
border-radius: 50px !important;
padding: 12px !important;
font-family: Poppins, sans-serif !important;
font-size: 13px !important;
font-weight: 700 !important;
cursor: pointer !important;
transition: background .2s !important;
text-align: center !important;
}
.wpf-submit-btn:hover, .wpf-button:hover {
background: #f0a500 !important;
}
/* Reset knop */
.wpf-reset-btn {
display: block !important;
width: calc(100% - 40px) !important;
margin: 0 20px 16px !important;
background: transparent !important;
color: #888 !important;
border: 1.5px solid #e0e0e0 !important;
border-radius: 50px !important;
padding: 10px !important;
font-family: Poppins, sans-serif !important;
font-size: 12px !important;
font-weight: 600 !important;
cursor: pointer !important;
transition: all .2s !important;
text-align: center !important;
}
.wpf-reset-btn:hover {
border-color: #f0a500 !important;
color: #f0a500 !important;
}
/* Sidebar header boven de WPF widget */
.wpf-sidebar-header {
padding: 18px 20px;
background: #f8f5f0;
border-bottom: 1px solid #eaeaea;
font-size: 13px;
font-weight: 700;
color: #1a3c5e;
text-transform: uppercase;
letter-spacing: 1.5px;
font-family: Poppins, sans-serif;
display: flex;
align-items: center;
gap: 10px;
border-radius: 18px 18px 0 0;
}
/* Kortingen knop onder filter */
.wpf-deals-link {
display: flex;
align-items: center;
gap: 10px;
background: #f0a500;
color: #fff;
padding: 14px 20px;
font-size: 14px;
font-weight: 700;
font-family: Poppins, sans-serif;
text-decoration: none;
transition: background .2s;
border-radius: 0 0 18px 18px;
}
.wpf-deals-link:hover { background: #d49000; color: #fff; }
/* ── WPF KLEUR OVERRIDE (roze → navy/goud) ── */
.wpfMainWrapper *,
.wpfMainWrapper { font-family: Poppins, sans-serif !important; }
/* Filterknop onderaan */
.wpfMainWrapper .wpfFilterButton,
.wpfMainWrapper .wpf-submit-btn,
.wpfMainWrapper button[type="submit"],
.wpfMainWrapper .wpfSubmitButton {
background: #1a3c5e !important;
color: #fff !important;
border: none !important;
border-radius: 50px !important;
font-family: Poppins, sans-serif !important;
font-weight: 700 !important;
transition: background .2s !important;
}
.wpfMainWrapper .wpfFilterButton:hover,
.wpfMainWrapper .wpf-submit-btn:hover,
.wpfMainWrapper button[type="submit"]:hover,
.wpfMainWrapper .wpfSubmitButton:hover {
background: #f0a500 !important;
}
/* Filter groep titels */
.wpfMainWrapper .wpfFilterName,
.wpfMainWrapper .wpf-filter-title,
.wpfMainWrapper h4 {
color: #1a3c5e !important;
font-weight: 700 !important;
font-family: Poppins, sans-serif !important;
}
/* Plus/min toggle iconen */
.wpfMainWrapper .wpfFilterToggle,
.wpfMainWrapper .wpf-toggle { color: #f0a500 !important; }
/* Checkboxes aangevinkt */
.wpfMainWrapper input[type="checkbox"]:checked,
.wpfMainWrapper .wpfCheckbox.checked,
.wpfMainWrapper .wpf-checkbox-checked {
background: #f0a500 !important;
border-color: #f0a500 !important;
accent-color: #f0a500 !important;
}
.wpfMainWrapper input[type="checkbox"] { accent-color: #f0a500 !important; }
/* Prijsslider */
.wpfMainWrapper .ui-slider-range,
.wpfMainWrapper .wpf-price-range { background: #f0a500 !important; }
.wpfMainWrapper .ui-slider-handle {
border-color: #f0a500 !important;
background: #fff !important;
}
/* Sorteer dropdown */
.wpfMainWrapper select {
border: 1.5px solid #e0e0e0 !important;
border-radius: 50px !important;
color: #333 !important;
font-family: Poppins, sans-serif !important;
padding: 10px 16px !important;
}
.wpfMainWrapper select:focus { border-color: #f0a500 !important; outline: none !important; }
/* Actieve filter labels */
.wpfMainWrapper .wpfActiveFilter,
.wpfMainWrapper .wpf-active-filter {
background: rgba(240,165,0,.12) !important;
color: #f0a500 !important;
border-color: rgba(240,165,0,.3) !important;
}
/* Reset knop */
.wpfMainWrapper .wpfResetButton,
.wpfMainWrapper .wpf-reset-btn {
color: #888 !important;
border-color: #e0e0e0 !important;
background: transparent !important;
border-radius: 50px !important;
font-family: Poppins, sans-serif !important;
}
.wpfMainWrapper .wpfResetButton:hover,
.wpfMainWrapper .wpf-reset-btn:hover {
color: #f0a500 !important;
border-color: #f0a500 !important;
}
/* Label tekst */
.wpfMainWrapper label,
.wpfMainWrapper li,
.wpfMainWrapper .wpf-item { color: #444 !important; font-size: 13px !important; }
.wpfMainWrapper label:hover,
.wpfMainWrapper li:hover { color: #f0a500 !important; }
/* Prijstekst */
.wpfMainWrapper .wpf-price-amount,
.wpfMainWrapper .price-amount { color: #1a3c5e !important; font-weight: 600 !important; }
/* ── FILTERS KNOP BOVENAAN ── */
#wpf-toggle-btn {
background: #1a3c5e !important;
border-color: #1a3c5e !important;
color: #fff !important;
}
#wpf-toggle-btn:hover { background: #0d2a47 !important; }
#wpf-toggle-btn span { color: #fff !important; }
#wpf-toggle-icon { stroke: #fff !important; }
/* ── FILTEREN KNOP ONDERAAN ── */
.wpfMainWrapper .wpfFilterButton,
.wpfMainWrapper button.wpfFilterButton,
.wpfMainWrapper input[type="submit"],
.wpfMainWrapper button[type="submit"] {
background: #1a3c5e !important;
color: #fff !important;
border-radius: 50px !important;
font-family: Poppins, sans-serif !important;
font-weight: 700 !important;
border: none !important;
width: 100% !important;
padding: 12px !important;
transition: background .2s !important;
}
.wpfMainWrapper .wpfFilterButton:hover,
.wpfMainWrapper button[type="submit"]:hover {
background: #f0a500 !important;
}
/* ── INFO PANELEN LINKS EN RECHTS ── */
.pv-info-panel {
background: #fff;
border-radius: 16px;
border: 1px solid #eaeaea;
padding: 20px;
margin-top: 0;
}
.pv-info-item {
display: flex;
align-items: flex-start;
gap: 12px;
padding: 12px 0;
border-bottom: 1px solid #f0f0f0;
}
.pv-info-item:last-child { border-bottom: none; padding-bottom: 0; }
.pv-info-icon {
width: 36px; height: 36px; border-radius: 10px; flex-shrink: 0;
background: rgba(240,165,0,.1); border: 1px solid rgba(240,165,0,.2);
display: flex; align-items: center; justify-content: center; font-size: 16px;
}
.pv-info-title { font-size: 13px; font-weight: 700; color: #1a3c5e; font-family: Poppins, sans-serif; margin-bottom: 2px; }
.pv-info-sub { font-size: 11px; color: #888; font-family: Poppins, sans-serif; line-height: 1.5; }
/* ── FILTEREN + KORTINGEN KNOPPEN → NAVY ── */
.wpfMainWrapper .wpfFilterButton,
.wpfMainWrapper button.wpfFilterButton,
.wpfMainWrapper input[type="submit"],
.wpfMainWrapper button[type="submit"],
.wpfMainWrapper [class*="filter-btn"],
.wpfMainWrapper [class*="FilterBtn"],
.wpfMainWrapper [class*="submit"] {
background: #1a3c5e !important;
background-color: #1a3c5e !important;
color: #fff !important;
border: none !important;
}
.wpfMainWrapper .wpfFilterButton:hover,
.wpfMainWrapper button[type="submit"]:hover {
background: #f0a500 !important;
background-color: #f0a500 !important;
}
.wpf-deals-link {
background: #1a3c5e !important;
background-color: #1a3c5e !important;
color: #fff !important;
}
.wpf-deals-link:hover {
background: #f0a500 !important;
background-color: #f0a500 !important;
color: #fff !important;
}
/* ── FILTEREN + KORTINGEN → GOUD, HOVER = DIKGEDRUKT ── */
.wpfMainWrapper .wpfFilterButton,
.wpfMainWrapper button.wpfFilterButton,
.wpfMainWrapper input[type="submit"],
.wpfMainWrapper button[type="submit"],
.wpfMainWrapper [class*="FilterBtn"],
.wpfMainWrapper [class*="submit"] {
background: #f0a500 !important;
background-color: #f0a500 !important;
color: #fff !important;
border: none !important;
font-weight: 700 !important;
transition: font-weight .1s, letter-spacing .1s !important;
}
.wpfMainWrapper .wpfFilterButton:hover,
.wpfMainWrapper button[type="submit"]:hover {
background: #f0a500 !important;
background-color: #f0a500 !important;
font-weight: 900 !important;
letter-spacing: .5px !important;
}
.wpf-deals-link {
background: #f0a500 !important;
background-color: #f0a500 !important;
color: #fff !important;
font-weight: 700 !important;
transition: font-weight .1s, letter-spacing .1s !important;
}
.wpf-deals-link:hover {
background: #f0a500 !important;
font-weight: 900 !important;
letter-spacing: .5px !important;
color: #fff !important;
}
/* ── EXACTE WPF KNOP CLASSES ── */
button.wpfFilterButton,
button.wpfButton,
.wpfFilterButton.wpfButton,
.wpfFilterButtons button,
.wpfFilterButtonsBottom button {
background: #f0a500 !important;
background-color: #f0a500 !important;
color: #fff !important;
border: none !important;
font-weight: 700 !important;
font-family: Poppins, sans-serif !important;
border-radius: 50px !important;
}
button.wpfFilterButton:hover,
button.wpfButton:hover,
.wpfFilterButton.wpfButton:hover,
.wpfFilterButtons button:hover,
.wpfFilterButtonsBottom button:hover {
background: #f0a500 !important;
background-color: #f0a500 !important;
font-weight: 900 !important;
letter-spacing: .5px !important;
}
/* ── VERBERG THEMA ARCHIVE HEADER ── */
.woocommerce-products-header,
.page-header,
.archive-header,
.archive-title-wrap,
.woocommerce-breadcrumb,
.villa-breadcrumb,
.site-breadcrumb,
.entry-header,
.term-description,
h1.page-title,
.woocommerce-loop-product__title + .woocommerce-products-header,
.products-header,
.shop-title-wrapper,
.villa-page-title,
.villa-archive-header {
display: none !important;
}
/* Verberg de lijn/ruimte die het thema toevoegt boven de template */
.elementor-template-canvas .site-content > *:not(.elementor),
.site-main > *:not(.elementor){
display: none !important;
}
/* ── VERBERG ALLES BOVEN ELEMENTOR TEMPLATE ── */
.elementor-section-wrap > *:first-child { margin-top: 0 !important; }
/* VillaTheme specifiek */
.villa-page-header,
.villa-page-title-bar,
.villa-page-title-wrap,
.woo-breadcrumb,
.woocommerce-page-title,
.shop-loop-before,
#primary > *:not(.elementor),
.site-content > *:not(.elementor),
.content-area > *:not(.elementor),
#content > *:not(.elementor),
main > *:not(.elementor),
.site-main > *:not(.elementor) {
display: none !important;
height: 0 !important;
margin: 0 !important;
padding: 0 !important;
visibility: hidden !important;
}
/* Lijn die thema toevoegt */
hr.wp-block-separator,
.woocommerce-notices-wrapper:empty,
.woocommerce-result-count:not(.elementor *),
.woocommerce-ordering:not(.elementor *) {
display: none !important;
}
(function(){
function styleButtons(){
// Filteren knop
document.querySelectorAll('.wpfFilterButton, .wpfButton, .wpfFilterButtons button').forEach(function(btn){
btn.setAttribute('style',
'background:#f0a500!important;background-color:#f0a500!important;' +
'color:#fff!important;border:none!important;border-radius:50px!important;' +
'font-family:Poppins,sans-serif!important;font-weight:700!important;' +
'width:100%!important;padding:12px!important;cursor:pointer!important;' +
'transition:font-weight .15s,letter-spacing .15s!important;'
);
btn.addEventListener('mouseenter', function(){ this.style.fontWeight='900'; this.style.letterSpacing='.5px'; });
btn.addEventListener('mouseleave', function(){ this.style.fontWeight='700'; this.style.letterSpacing='0'; });
});
// Toggle knop
var toggleBtn = document.getElementById('wpf-toggle-btn');
if(toggleBtn){
toggleBtn.setAttribute('style',
'width:100%;display:flex;align-items:center;justify-content:space-between;' +
'padding:18px 20px;background:#1a3c5e!important;background-color:#1a3c5e!important;' +
'border:1px solid #1a3c5e!important;border-radius:18px 18px 0 0;' +
'font-size:13px;font-weight:700;color:#fff!important;text-transform:uppercase;' +
'letter-spacing:1.5px;font-family:Poppins,sans-serif;cursor:pointer;'
);
var icon = document.getElementById('wpf-toggle-icon');
if(icon) icon.setAttribute('stroke','#fff');
}
// Kortingen en acties knop
document.querySelectorAll('.wpf-deals-link').forEach(function(btn){
btn.setAttribute('style',
'display:flex;align-items:center;gap:10px;' +
'background:#1a3c5e!important;background-color:#1a3c5e!important;' +
'color:#fff!important;padding:14px 20px;font-size:14px;font-weight:700;' +
'font-family:Poppins,sans-serif;text-decoration:none;border-radius:0 0 18px 18px;'
);
btn.addEventListener('mouseenter', function(){ this.style.fontWeight='900'; this.style.letterSpacing='.5px'; });
btn.addEventListener('mouseleave', function(){ this.style.fontWeight='700'; this.style.letterSpacing='0'; });
});
}
// Toggle functie
function initToggle(){
var btn = document.getElementById('wpf-toggle-btn');
if(!btn) return;
var col = btn.closest('.elementor-column');
if(!col) return;
var wpfWrap = col.querySelector('.wpfMainWrapper');
var dealsBtn = col.querySelector('.wpf-deals-link');
var icon = document.getElementById('wpf-toggle-icon');
var open = true;
btn.addEventListener('click', function(){
open = !open;
if(wpfWrap){
wpfWrap.style.maxHeight = open ? '2000px' : '0';
wpfWrap.style.opacity = open ? '1' : '0';
wpfWrap.style.overflow = 'hidden';
wpfWrap.style.transition = 'max-height .35s cubic-bezier(.22,1,.36,1), opacity .3s ease';
}
if(dealsBtn){
dealsBtn.style.maxHeight = open ? '100px' : '0';
dealsBtn.style.opacity = open ? '1' : '0';
dealsBtn.style.overflow = 'hidden';
dealsBtn.style.transition = 'max-height .35s ease, opacity .3s ease';
}
if(icon) icon.setAttribute('style', 'transition:transform .35s ease;flex-shrink:0;stroke:#fff;transform:rotate(' + (open?'0':'-180') + 'deg)');
btn.style.borderRadius = open ? '18px 18px 0 0' : '18px';
});
}
function init(){
styleButtons();
initToggle();
// Run again after 1s in case WPF loads async
setTimeout(styleButtons, 1000);
}
document.readyState === 'loading'
? document.addEventListener('DOMContentLoaded', init)
: setTimeout(init, 300);
})();