/*
Theme Name: Wux Theme
Author: Wux
Author URI: https://wux.nl/
Description: Wux is het custom wordpress thema van Wux - Internetbureau
Version: 1.5
Requires PHP: 8.0.0
Text Domain: wux
*/

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap');

@font-face {
    font-family: "General Sans";
    src: url('/wp-content/themes/wux/assets/fonts/GeneralSans-Variable.ttf') format('truetype'),
         url('/wp-content/themes/wux/assets/fonts/GeneralSans-Variable.eot') format('opentype'),
         url('/wp-content/themes/wux/assets/fonts/GeneralSans-Variable.woff') format('woff'),
         url('/wp-content/themes/wux/assets/fonts/GeneralSans-Variable.woff2') format('woff2');
    font-display: swap;
}

:root {
    --fs: 1.4rem;
    --lh: 1.6;

    /* Color variables */
    --clr-primary: #267DFF;
    --clr-primary-dark: #1566e0;
    --clr-primary-80: #8BA3C6;
    --clr-primary-60: #E9F2FF;
    --clr-primary-light: #E4EFFF;
    --clr-primary-rgb: 38, 125, 255;
    --clr-secondary: #FF7816;
    --clr-secondary-light: #FF964A;

    --clr-heading: #020B18;
    --clr-text: #020B18;
    --clr-text-invert: #fff;

    --clr-dark: #020B18;
    --clr-dark-50: #8D8D8D;
    --clr-dark-rgb: 2, 11, 24;

    --clr-grey: #435672;
    --clr-grey-50 : #676D74;
    --clr-grey-light: #1b1b1b15;

    --clr-light: #F8FBFF;
    --clr-primary-extra-light: #F0F5FB;
    
    --clr-danger: #FF0000;
    --clr-success: #10BA3F;
    --clr-success-dark: #089730;

    --clr-border: #000; 
    --clr-border-light: #ffffff40; 
    
    /* Font variables */
    --font-primary: 'General Sans', sans-serif;

    /* Container max-width variables */
    --container-width: 100%;
    --container-width--sm: 540px;
    --container-width--md: 720px;
    --container-width--lg: 980px;
    --container-width--xl: 1140px;
    --container-width--xxl: 1320px;
    --container-width--xxxl: 1499px;

}

@media (min-width: 768px) {
    :root {
        --fs: 1.6rem;
    }
}

body { font-family: var(--font-primary); background-color: var(--clr-light); }

.wpb-usps { background-color: var(--clr-dark); z-index: 1; }
.wpb-usps .container { display: flex; flex-wrap: wrap; justify-content: space-between; }  
.wpb-usps .wpb-usp { padding: 1.2rem 0; font-size: 1.6rem; line-height: 1.2; font-weight: 400; display: flex; align-items: center; column-gap: 1.2rem; color: #fff; }
.wpb-usps .wpb-usp img { width: 2.5rem; height: 2.5rem; }

/*** ---------- Typography ---------- ***/
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 { font-weight: 600; }
h1, .h1 { --fs: clamp(3.6rem, 5.2vw, 7rem); --lh: 1; }
h2, .h2 { --fs: clamp(2.8rem, 4vw, 4.4rem); --lh: 1; }
h3, .h3 { --fs: clamp(2.4rem, 3vw, 3rem); --lh: 1; }
h4, .h4 { --fs: 1.8rem; --lh: 2rem; }

*:is(h1,h2,h3) em { font-style: normal; color: var(--clr-primary); }

.wpb-text *:is(h1,h2,h3) ~ *:not(.modal, .blockquote, form) { --p: 4rem; padding-left: var(--p); }

.wpb-text .wpb-breadcrumbs { padding: 0!important; }

@media (min-width: 992px) {
    .wpb-text *:is(h1,h2,h3) ~ *:not(.modal, .blockquote) { --p: 6.9rem; }
}
@media (min-width: 1200px) {
    .wpb-text *:is(h1,h2,h3) ~ *:not(.modal, .blockquote) { --p: 9.6rem; }
}


/*** ---------- Whitespace ---------- ***/
[class*="wpb-wst"] { --pt: 0; padding-top: var(--pt); }
[class*="wpb-wsb"] { --pb: 0; padding-bottom: var(--pb); }

.wpb-wst--none { --pt: 0; }
.wpb-wst--small { --pt: 1.8rem; }
.wpb-wst--medium { --pt: 2.5rem; }
.wpb-wst--large { --pt: 4rem; }

.wpb-wsb--none { --pb: 0; }
.wpb-wsb--small { --pb: 1.8rem; }
.wpb-wsb--medium { --pb: 2.5rem; }
.wpb-wsb--large { --pb: 4rem; }

@media (min-width: 992px) {
    .wpb-wst--small { --pt: 6.4rem; }
    .wpb-wst--medium { --pt: 8rem; }
    .wpb-wst--large { --pt: 11rem; }
    
    .wpb-wsb--small { --pb: 6.4rem; }
    .wpb-wsb--medium { --pb: 8rem; }
    .wpb-wsb--large { --pb: 11rem; }
}


/*** ---------- Icons ---------- ***/
.wpb-icon-wrapper { width: 5rem; height: 5rem; border-radius: 50%; display: inline-grid; place-items: center; }
.wpb-icon-wrapper--primary { background-color: var(--clr-primary); }
.wpb-icon-wrapper--primary .wpb-icon { --clr: #fff; }
.wpb-icon-wrapper--secondary { background-color: var(--clr-secondary); }  
.wpb-icon-wrapper--secondary .wpb-icon { --clr: #fff; }

.wpb-icon-wrapper--small { width: 2.5rem; height: 2.5rem; min-width: 2.5rem; }
.wpb-icon-wrapper--small .wpb-icon { --w: 1.6rem; --h: 1.6rem; }

.wpb-icon-wrapper--medium { width: 3rem; height: 3rem; min-width: 3rem; }
.wpb-icon-wrapper--medium .wpb-icon { --w: 1.8rem; --h: 1.8rem; }

.wpb-icon-wrapper--large { width: 3.5rem; height: 3.5em; min-width: 3.5rem; }
.wpb-icon-wrapper--large .wpb-icon { --w: 2rem; --h: 2rem; }

.wpb-icon-wrapper--20 { width: 2rem; height: 2rem; min-width: 2rem; }
.wpb-icon-wrapper--20 .wpb-icon { --w: 1.2rem; --h: 1.2rem; }


/*** ---------- Background colors ---------- ***/
.wpb-bg-clr--primary { background-color: var(--clr-primary); }
.wpb-bg-clr--primary-light{ background-color: var(--clr-primary-extra-light); }
.wpb-bg-clr--secondary { background-color: var(--clr-secondary); }
.wpb-bg-clr--dark { background-color: var(--clr-dark); }
.wpb-bg-clr--dark *:is(h1,h2,h3,h4,h5,h6,a,p,span,blockquote) { color: var(--clr-text-invert); }
.wpb-bg-clr--dark *:is(.wpb-icon) { --clr: var(--clr-text-invert); }
.wpb-bg-clr--dark .btn.btn--primary .wpb-icon { --clr: #fff; }  
.wpb-bg-clr--light { background-color: var(--clr-primary-extra-light); }
.wpb-bg-clr--white { background: #FFF; }
.wpb-bg-clr--grey { background-color: var(--clr-grey); }
.wpb-bg-clr--grey .btn.btn--primary .wpb-icon { --clr: #fff; }  

/* Dark background styles */
.wpb-bg-clr--dark .btn.btn--primary:hover{ --clr: var(--clr-secondary); }
.wpb-bg-clr--dark *:is(.wpb-icon.wpb-icon--text-media){ --clr: var(--clr-primary); }

.wpb-block--text-media.wpb-bg-clr--dark .wpb-image .wpb-icon--text-media{ bottom: -10rem; left: 25%; transform: rotate(185deg); }
.wpb-block--text-media.wpb-bg-clr--dark::before{ z-index: 1; content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 24rem; background: linear-gradient(90deg, #020B18 0%, rgba(2, 11, 24, 0.24) 100%); }
.wpb-block--text-media.wpb-bg-clr--dark::after{ content: ''; position: absolute; left: calc(var(--size) / -2.5); bottom: 0; width: 100%; height: 50%; background: url('/wp-content/themes/wux/assets/img/image-home.png') no-repeat; background-size: contain; object-position: left bottom; }

/*** ---------- Modals ---------- ***/
.modal.modal--pa-description .modal-dialog__body { padding-top: 0; line-height: 1.4; }

/*** ---------- Buttons ---------- ***/
.btn, .gform_button, .gform_next_button, .gform_previous_button, .button { --fs: 1.6rem; --lh: 1; --p: 0 2rem; --br: .35rem; font-weight: 500; text-align: left; }

.btn .wpb-icon--arrow-right-long { transition: transform var(--ts-15) ease-in-out, background-color var(--ts-15) ease-in-out; }
.btn:hover .wpb-icon--arrow-right-long { transform: translateX(.5rem); }

.btn.btn--primary, .button { --clr: var(--clr-text); --p: 0 2rem 0 2.4rem; position: relative; }
.btn.btn--primary .wpb-icon { --clr: var(--clr-text); }

.btn.btn--white { --clr: #fff; --bg-clr: transparent; --border: none; --p: 0 2rem 0 2.4rem; --hover-clr: #fff; --hover-bg-clr: transparent; --hover-border: none; position: relative; }
.btn.btn--white .wpb-icon { --clr: #fff; }

.btn.btn--blue { --bg-clr: var(--clr-primary); --clr: #fff; --hover-bg-clr: var(--clr-primary-dark); --br: 4rem; }
.btn.btn--light { --bg-clr: var(--clr-primary-60); --clr: var(--clr-text); --hover-clr: #fff; --hover-bg-clr: var(--clr-primary-dark); --br: 4rem; width: 100%;}

.btn.btn--primary::before,
.btn.btn--white::before { content: ''; display: block; width: 4.7rem; height: 4.7rem; border-radius: 50%; position: absolute; left: 0; top: 50%; transform: translateY(-48%) rotate(90deg); border: 2px solid var(--clr-secondary); border-top-color: transparent; }
.btn.btn--white::before { border-color: #fff; border-top-color: transparent; }

.btn.btn--link { --clr: var(--clr-text); --hover-clr: var(--clr-primary); --bg-clr: transparent; --border: 1px solid transparent; --p: 0; text-align: left; justify-content: start; }
.btn.btn--link .wpb-icon { --clr: var(--clr-text); }
.btn.btn--link:hover .wpb-icon { --clr: var(--clr-primary); }

.btn.btn--outline { --clr: var(--clr-primary); --border: 1px solid var(--clr-primary); --hover-bg-clr: var(--clr-primary); --hover-border: 1px solid var(--clr-primary); }

.btn.btn--close-menu,
.btn.btn--submenu-toggle  { --br: 50%; --clr: #fff; --border: 0px solid transparent; --hover-border: 0px solid transparent; --hover-bg-clr: var(--clr-primary);}
.btn.btn--submenu-toggle:hover .wpb-icon { --clr: #fff!important; }

.btn.btn--nav-toggle { --br: 0; --clr: #fff; --border: 0px solid transparent; --hover-border: 0px solid transparent; --hover-color: var(--clr-primary); --hover-bg-clr: transparent; gap: .8rem; padding-left: 1.5rem; border-left: 1px solid var(--clr-border-light) !important;}

.single_add_to_cart_button { --bg-clr: var(--clr-success); --clr: #fff; --hover-bg-clr: var(--clr-success-dark); --br: 4rem; --p: 0 2.4rem; font-weight: 600; min-height: 5.4rem; }

.btn.is-loading { position: relative; }
.btn.is-loading::before,
.btn.is-loading::after { content: ''; display: block; position: absolute; z-index: 1; }
.btn.is-loading::before { top: 0; right: 0; bottom: 0; left: 0; background: var(--clr-primary); border-radius: inherit; }
.btn.is-loading::after { --src: url('/wp-content/themes/wux/assets/icons/default/icon_loading.svg'); --clr: #fff; --width: 2rem; --height: 2rem; -webkit-mask-image: var(--src); mask-image: var(--src); -webkit-mask-size: contain; mask-size: contain; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; display: inline-block; width: var(--width); height: var(--height); background-color: var(--clr); top: calc(50% - (var(--height) / 2)); left: calc(50% - (var(--width) / 2)); animation: woocommerce_rotate 0.5s linear infinite; }

.btn.btn--success { --bg-clr: var(--clr-success); --clr: #fff; --br: 4rem; font-weight: 600; --hover-bg-clr: var(--clr-success-dark); }

/*** ---------- Person ---------- ***/
.wpb-person { display: grid; grid-template-columns: 6.7rem 1fr; column-gap: 1.8rem; align-items: center; }
.wpb-person .wpb-person__image img { border-radius: 50%; width: 6.7rem; height: 6.7rem; object-fit: cover; }
.wpb-person .wpb-person__text strong { font-size: 1.6rem; display: block; width: 100%; font-weight: 600; }
.wpb-person .wpb-person__text span { font-size: 1.6rem; }

/*** ---------- Review ---------- ***/
.star-rating { display: flex; column-gap: .5rem; }
.star-rating .wpb-icon { --clr: var(--clr-secondary); --w: 1.6rem; --h: 1.6rem; }

/*** ---------- Cards ---------- ***/
.wpb-card { position: relative; z-index: 1; }
.wpb-card .wpb-card__bg { position: absolute; top: 0; right: 0; bottom: 0; left: 0; overflow: clip; border-radius: var(--br); z-index: -1; }

.wpb-card.wpb-bg-clr--primary { border: none; color: #fff; }
.wpb-card.wpb-bg-clr--primary * { color: #fff; }
.wpb-card.wpb-bg-clr--primary .btn .wpb-icon { --clr: #fff; }
.wpb-card.wpb-bg-clr--primary .wpb-icon.wpb-icon--europe-diamond-icon { --w: 44rem; --h: 44rem; --clr: #1E71EF; position: absolute; top: auto; right: 10%; top: 50%; transform: translateY(-50%); left: auto; }

.wpb-card.wpb-bg-clr--light { border-color: var(--clr-primary-light); }
.wpb-card.wpb-bg-clr--light .wpb-icon.wpb-icon--europe-diamond-icon { --w: 24rem; --h: 24rem; --clr: var(--clr-primary-light); position: absolute; top: auto; right: 10%; bottom: 10%; left: auto; }

.wpb-card.wpb-card--cta { font-size: clamp(1.8rem, 3vw, 2.4rem); display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, auto) }
.wpb-card.wpb-card--cta .wpb-card__body { display: flex; flex-direction: column; align-items: start; }
.wpb-card.wpb-card--cta .wpb-card__body h3 { margin-bottom: 1.2rem; }
.wpb-card.wpb-card--cta .wpb-card__body .btn { margin-top: auto; }
.wpb-card.wpb-card--cta .wpb-card__header { margin-top: -2.8rem; margin-right: -1rem; }
.wpb-card.wpb-card--cta .wpb-card__header img { width: 100%; max-width: 5.6rem; object-fit: contain; object-position: bottom center; }

.wpb-card.wpb-card--cta.variant--menu { width: 100%; display: flex; flex-direction: row; align-items: end; }
.wpb-card.wpb-card--cta.variant--menu .wpb-card__body { flex-direction: row; align-items: center; justify-content: space-between; padding: 2.6rem 3.8rem; position: relative; overflow: hidden;}
.wpb-card.wpb-card--cta.variant--menu .wpb-card__body .wpb-text { display: flex; flex-direction: column; color: var(--clr-text-invert);}
.wpb-card.wpb-card--cta.variant--menu .wpb-card__body .wpb-text .cta__title {font-size: clamp(2.4rem, 3vw, 3rem); font-weight: 600;;}
.wpb-card.wpb-card--cta.variant--menu .wpb-card__body .wpb-text .cta__text {margin: 0;}
.wpb-card.wpb-card--cta.variant--menu .wpb-card__body .btn { margin-left: auto; margin-top: 0; width: fit-content; display: flex;}
.wpb-card.wpb-card--cta.variant--menu .wpb-card__header { margin-left: 3.8rem; }
.wpb-card.wpb-card--cta.variant--menu .wpb-card__header img { max-height: 15rem;  }

.wpb-card.wpb-card--cta.variant--menu .wpb-card__bg { overflow: visible; position: absolute; top: 50%; left: 55%; transform: translate(-50%, -50%) rotate(15deg) scale(1); transform-origin: center center; display: flex; align-items: center; justify-content: center; }
.wpb-card.wpb-card--cta.variant--menu .wpb-card__bg .wpb-icon { --clr: #4a5f7e; --w: 38vw; --h: 38vw; max-width: 70rem; max-height: 70rem; }

@media(max-width: 767px) {
    .wpb-card.wpb-card--cta .wpb-card__header img { display: none; }
}

.wpb-card.wpb-card--archive-cta {--p: 2.4rem; --m: 3.2rem; margin-bottom: var(--m); padding: var(--p); border: none; background-color: var(--clr-primary-light); position: relative; overflow: hidden;}
.wpb-card.wpb-card--archive-cta .text {display: flex; flex-direction: column; gap: 1.2rem; max-width: 70rem; font-weight: 500;}
.wpb-card.wpb-card--archive-cta .wpb-card__bg .wpb-icon { --w: 34rem; --h: 150%; --clr: #D5E8FF; position: absolute; right: -18rem; top: -25%; bottom: -25%; transform: translate(-25%);}

@media(min-width: 768px) {
    .wpb-card.wpb-card--archive-cta {--p: 4.8rem;}
    .wpb-card.wpb-card--archive-cta .text {max-width: 70rem; width: 80%;}
}


.wpb-card.wpb-card--review { border: none; }
.wpb-card.wpb-card--review .star-rating { margin-bottom: 2.5rem; }
.wpb-card.wpb-card--review .review-description { font-size: 1.6rem; }
.wpb-card.wpb-card--review .wpb-person { margin-top: 2.5rem; }

.wpb-card.wpb-card--usps { padding: 1.3rem 0; height: fit-content; background-color: transparent; border: unset; border-radius: unset !important; flex-direction: row; gap: 1.5rem; }
.wpb-card.wpb-card--usps * { color: var(--clr-text-invert); height: fit-content; }

.wpb-card.wpb-card--contact { --bg: var(--clr-primary); background-color: var(--bg); --p: 2rem; height: 100%; border: none; z-index: 2; }
.wpb-card.wpb-card--contact h3{ --fs: clamp(2.2rem, 3vw, 2.5rem); margin-bottom: 1.9rem; }
.wpb-card.wpb-card--contact :is(h1, h2, h3, h4, h5, h6){ color: #fff; }
.wpb-card.wpb-card--contact .contact-link{  --p: 1rem 2.8rem; --gap: 2rem; --bg: #fff; --border: 2px solid var(--clr-primary-light);  --br: 8rem; --mw: 26.6rem; transition: background var(--ts-15) ease-in-out; display: flex; flex-wrap: nowrap; align-items: center; gap: var(--gap); background-color: var(--bg); border: var(--border); padding: var(--p); border-radius: var(--br); max-width: var(--mw); }
.wpb-card.wpb-card--contact .contact-link strong{ font-weight: 600; }
.wpb-card.wpb-card--contact .contact-link:not(:first-child){ margin-top: 1.9rem; }
.wpb-card.wpb-card--contact .contact-link:hover{ --bg: var(--clr-primary-extra-light); }
.wpb-card.wpb-card--contact .wpb-location { --mw: 18rem; --gap: 1rem; display: flex; gap: var(--gap); max-width: var(--mw); }
.wpb-card.wpb-card--contact .wpb-location i{ --w: 1.6rem; --h: 1.6rem; --clr: #fff; margin-top: .5rem; }
.wpb-card.wpb-card--contact .wpb-location .wpb-text *{ color: #fff; }
.wpb-card.wpb-card--contact .wpb-location .wpb-text p a{ text-decoration: underline; transition: opacitiy var(--ts-15) ease-in-out; }
.wpb-card.wpb-card--contact .wpb-location .wpb-text p a:hover{ opacity: .8; }
.wpb-card.wpb-card--contact .wpb-image--side { position: absolute; right: -3rem; bottom: 0; width: 11rem; }

.wpb-card.wpb-card--contact-form { --p: 2rem; background-color: var(--clr-primary-extra-light); border: 2px solid var(--clr-primary-light); z-index: 1; }

@media (min-width: 400px) {
    .wpb-card.wpb-card--contact .wpb-image--side{ width: 14rem; }
}

@media (min-width: 576px) {
    .wpb-card.wpb-card--cta .wpb-card__header img { max-width: 9.6rem; }
    .wpb-card.wpb-card--contact .wpb-image--side{ right: 3rem; width: 20rem; }
}

@media (min-width: 768px) {
    .wpb-card.wpb-card--cta .wpb-card__header img { max-width: 19.6rem; }
    .wpb-card.wpb-card--contact .wpb-image--side{ width: 30rem; }
}

@media (min-width: 992px) {
    .wpb-card.wpb-card--cta { --p: 2.8rem; }
    .wpb-card.wpb-card--review { --p: 2.8rem; }    


    .wpb-card.wpb-card--contact { --p: 3.6rem 3.3rem; }
    .wpb-card.wpb-card--contact .wpb-image--side { right: -7rem; width: 22rem; }

    .wpb-card.wpb-card--contact-form { --p: 4.4rem; }
}

@media (min-width: 1200px) {
    .wpb-card.wpb-card--cta { --p: 3.2rem; }
    .wpb-card.wpb-card--review { --p: 4.5rem; } 
}

@media(max-width:991.98px) {
    .wpb-card.wpb-card--product .wpb-card__header { padding-bottom: 0;}
    .wpb-card.wpb-card--product .wpb-card__body { padding-top: 0;}

}


/*** ---------- Navigation ---------- ***/
.wpb-navigation .wpb-woocommerce-mini-cart a { padding-right: 1.5rem; white-space: nowrap; gap: .8rem; }
.wpb-navigation .wpb-woocommerce-mini-cart a .wpb-icon { --w: 2rem; --h: 1.8rem; }
.wpb-navigation .wpb-woocommerce-account a  { white-space: nowrap; gap: .8rem;}
.wpb-navigation .wpb-woocommerce-account a .wpb-icon { --w: 1.8rem; --h: 1.8rem; }

.wpb-navigation__top { background-color: var(--clr-primary); padding-top: 1.2rem; padding-bottom: 1.2rem; position: relative; z-index: 1; overflow: clip; }
.wpb-navigation__top .container {justify-content: space-between; flex-wrap: wrap;}
.wpb-navigation__top .container .wpb-top--item {display: flex; gap: .6rem; align-items: center; color: var(--clr-text-invert);}
.wpb-navigation__top .container .wpb-top--item .small { font-size: 1.4rem; }
.wpb-navigation__top .container .wpb-top--item .wpb-icon {--w: 1.4rem; --h: 1.4rem; --clr: var(--clr-text-invert);}
.wpb-navigation__top .container .wpb-top--item.wpb-top-nav__usp {display: none;}

.wpb-lang-switcher { display: flex; gap: .5rem; }
.wpb-lang-switcher .item { padding: 1rem .5rem; }  
.wpb-lang-switcher .item:not(.active) { opacity: .5; }
.wpb-lang-switcher .item img { width: 3rem; height: 1.8rem; object-fit: cover; }

.wpb-opening-hours { display: flex; justify-content: start; gap: 1.5rem; align-items: center; color: var(--clr-text-invert);}
.wpb-opening-hours > div { justify-content: start; gap: 1.5rem; align-items: center; }
.wpb-opening-hours .wpb-status { gap: 1rem; }
.wpb-opening-hours .wpb-label p { font-size: 18px; font-weight: 500; }
.wpb-opening-hours .wpb-label .wpb-icon { --w: 1.8rem; --h: 2.2rem; --clr: var(--clr-text-invert); }
.wpb-opening-hours .wpb-status p { font-size: 14px; }

.menu-item-product { border-bottom: 1px solid rgba(255,255,255,.19); padding: 2rem 0!important; display: flex!important; flex-direction: column; height: 100%; }
.menu-item-product .menu-item-product__header img { max-width: 25rem; margin-inline: auto; filter: drop-shadow(0px 0px 2.5rem rgb(var(--clr))); }
.menu-item-product .menu-item-product__body { margin-top: auto; }
.menu-item-product .menu-item-product__body .title { line-height: 1.3; display: block; font-size: 2rem; font-weight: 600; margin-bottom: 2.4rem; }  
.menu-item-product .menu-item-product__body .prd-attributes { padding: 0!important; }
.menu-item-product .menu-item-product__body .prd-attributes li { display: flex; align-items: center; column-gap: 1.3rem; font-size: 1.6rem; font-weight: 500; }
.menu-item-product .menu-item-product__body .prd-attributes li + li { padding-top: 1.2rem; }
.menu-item-product .menu-item-product__body .prd-attributes li i { --clr: var(--clr-secondary); }

.view-all-link { display: flex!important; flex-direction: column; align-items: center; padding: 4.2rem 2rem!important; }
.view-all-link span:not(.title) { display: grid; place-items: center; width: 17rem; height: 17rem; border-radius: 50%; border: 3px solid var(--clr-secondary) }
.view-all-link span:not(.title) i { --w: 7rem; --h: 3rem; }
.view-all-link span.title { font-size: 2rem; font-weight: 600; margin-top: 6.4rem; }



@media (min-width: 992px) {
    .wpb-navigation__top .container .wpb-top--item.wpb-top-nav__usp {display: flex;}

    .menu-item-product { border-bottom: 0; padding: 0 2rem!important; }
    .menu-item + .menu-item .menu-item-product { border-right: 1px solid rgba(255,255,255,.19); }
    .wpb-navigation .menu-item-has-children { position: static; }

    .wpb-navigation .menu-item-has-children .wpb-sub-menu { padding-top: 7rem; padding-bottom: 7rem; border-top: 1px solid var(--clr-border-light); }
}


/*** ---------- Header ---------- ***/
.wpb-header { --gc: 1; --gap: 3.2rem; z-index: 1; }
.wpb-header figure.is-background-image { z-index: -3; }

.wpb-header.wpb-header--home {overflow: hidden;}
.wpb-header.wpb-header--home::before { pointer-events: none; content: ''; height: 100%; width: 100%; z-index: -1; position: absolute; right: 0; top: 0; background: linear-gradient(90deg, var(--clr-dark) 0%, #020b182c 91%); }
.wpb-header.wpb-header--home::after {pointer-events: none; content: ''; height: 100%; width: 100%; z-index: 1; position: absolute; right: 0; top: 0; background: linear-gradient(90deg, #00000000 80%, var(--clr-dark) 100%);}
.wpb-header.wpb-header--home .container { display: grid; column-gap: var(--gap); row-gap: 2rem; align-items: center; }
.wpb-header.wpb-header--home .wpb-image { display: none;  }
.wpb-header.wpb-header--home .has-background-image::after { display: none; } 
.wpb-header.wpb-header--home .wpb-text { max-width: 80rem; }
.wpb-header.wpb-header--home .wpb-text p { max-width: 60rem; margin-top: 1.6rem;}
.wpb-header.wpb-header--home .btn-group { margin-top: 2.4rem;}
.wpb-header.wpb-header--home .btn { --clr: #fff; }
.wpb-header.wpb-header--home .btn .wpb-icon { --clr: #fff; }

.wpb-header.wpb-header--subpage { position: relative; overflow: clip; }
.wpb-header.wpb-header--subpage .wpb-text{ max-width: 65rem; }
.wpb-header.wpb-header--subpage .wpb-image { position: absolute; top: 0; right: 0; bottom: 0; left: auto; z-index: -1; }
.wpb-header.wpb-header--subpage .wpb-image img { width: 100%; height: 100%; object-fit: cover; object-position: left center; }

.wpb-header--contact{ overflow: hidden; }
.wpb-header--contact .container{ display: flex; justify-content: center; }
.wpb-header--contact .container .inner{ --mw: 84rem; max-width: var(--mw); position: relative; }
.wpb-header--contact .container .inner .wpb-text *{ --p: 0 !important; text-align: center;  }
.wpb-header--contact .container .inner .wpb-text p{ --fs: 2rem; font-size: var(--fs); }
.wpb-header--contact .wpb-background-icon .wpb-icon { --w: 40rem; --h: 40rem; --clr: var(--clr-primary-light); z-index: -1; position: absolute; top: -16rem; right: -18rem; opacity: .3; pointer-events: none; }

@media (min-width: 768px) {
    .wpb-header.wpb-header--home .wpb-image {display: block;  position: absolute; top: 0; right: -25%; bottom: -10%;  max-width: 72rem; z-index: 0; transform: translate(-50%);}
    .wpb-header.wpb-header--home .wpb-image img { width: 100%; height: 100%; object-fit: contain; object-position: bottom right; }
}
    @media (min-width: 992px) {
    .wpb-header.wpb-header--home .wpb-image { }
}

@media (min-width: 1200px) {
    .wpb-header.wpb-header--home { --pt: 17.2rem; --pb: 20.8rem; }
    .wpb-header.wpb-header--home .wpb-image {  }
}

@media (min-width: 1400px) {
    .wpb-header.wpb-header--home .wpb-image { z-index: 1; }
}


/*  */
.search-form__results { 
    position: absolute;
    --br: .8rem;
    top: 7rem;
    left: 0;
    right: 0;
    z-index: 999;
    background-color: var(--clr-grey-50);
    border-radius: var(--br);
    display: grid; grid-template-columns: minmax(0, 1fr); }
.search-form__results .search-results__group { padding: 2.2rem; }
.search-form__results .search-result { display: grid; grid-template-columns: 4rem 1fr auto; align-items: center; column-gap: 2rem; position: relative; }
.search-form__results .search-result + .search-result { margin-top: 1rem; }
.search-form__results .search-result .search-result__title {color: var(--clr-primary-light); font-weight: 300; font-size: 2rem; transition: all 250ms ease; }
.search-form__results .search-result a {color: var(--clr-primary-light); font-size: 1.6rem; min-height: 3rem; white-space: nowrap; text-decoration: none; transition: all 250ms ease;}
.search-form__results .search-result a::before { content: ''; position: absolute; top: 0; right: 0; bottom: 0; left: 0; }
.search-form__results .search-result:hover .search-result__title { color: var(--clr-primary-80); }
.search-form__results .search-result:hover a { color: var(--clr-primary-80); }


/* Single */
*:is(.wpb-single-product, .wux-wc-quote) .wpb-text *:is(h1,h2,h3) ~ *:not(.modal, .blockquote) { padding-left: unset !important; }
@media (min-width: 992px) {
    *:is(.wpb-single-product, .wux-wc-quote) .wpb-text *:is(h1,h2,h3) ~ *:not(.modal, .blockquote) { --p: 6.9rem; }
}
@media (min-width: 1200px) {
    *:is(.wpb-single-product, .wux-wc-quote) .wpb-text *:is(h1,h2,h3) ~ *:not(.modal, .blockquote) { --p: 9.6rem; }
}


/*** ---------- Footer ---------- ***/
.wpb-footer { background-color: var(--clr-dark); color: #fff; position: relative; }
.wpb-footer .wpb-icon--footer-background { position: absolute; top: 0; right: 0; z-index: 1; width: 50%; mask-size: cover; -webkit-mask-size: cover; }

.wpb-footer .wpb-footer__main { position: relative; z-index: 2; }

.wpb-footer p, 
.wpb-footer a { color: #fff; }
.wpb-footer .wpb-icon { --clr: rgba(255,255,255,.8); --w: 3.2rem; }

.wpb-footer .address,
.wpb-footer .phone,
.wpb-footer .mail { display: flex; align-items: baseline; column-gap: 1rem; margin-top: 1.2rem; }

.wpb-footer .wpb-social-media { margin-top: 1.2rem; }

.wpb-footer .address .wpb-icon,
.wpb-footer .phone .wpb-icon,
.wpb-footer .mail .wpb-icon { transform: translateY(.5rem); } 

.wpb-footer__menu--info > p { margin-bottom: 2.8rem; }

.wpb-footer__menu--info a { transition: color var(--ts-15) ease-in-out, background-color var(--ts-15) ease-in-out; }
.wpb-footer__menu--info a:hover { color: var(--clr-primary); }
.wpb-footer .wpb-social-media a { background-color: rgba(255,255,255,.2); }
.wpb-footer .wpb-social-media a:hover .wpb-icon { --clr: var(--clr-dark); }

.wpb-footer__menu--links ul li + li { margin-top: 1rem; }
.wpb-footer__menu--links ul li .menu-item:hover { text-decoration: underline; }

.wpb-footer .wpb-footer__bottom { background-color: #0D1622; z-index: 2; position: relative; }

.by-wux { display: flex; align-items: center; gap: .4rem; text-decoration: none; }
.by-wux span { font-size: 1.1rem; }
.by-wux i { --clr: rgb(255,255,255,.5); --w: 4.7rem; --h: 1.5rem; }

/*** Request Quote Template ***/
.wux_quote-wrapper .wpb-text { margin-bottom: 3.2rem; }
.wux_quote-wrapper .quote-form { background-color: #fff; padding: 2rem; border-radius: .8rem; margin-top: 3.2rem; }
.wux_quote-wrapper select { border-color: rgba(var(--clr-primary-rgb), .2)!important; } 
.wux_quote-wrapper input { border-color: rgba(var(--clr-primary-rgb), .2)!important; } 
.wux_quote-wrapper textarea { padding-top: 1.6rem; padding-bottom: 1.6rem; border-color: rgba(var(--clr-primary-rgb), .2); } 

.wux_quote-wrapper .empty-state { padding: 2rem; background-color: #fff; border-radius: .8rem; }

.wux_quote-wrapper .product { background-color: #fff; border-radius: .8rem; padding: 2rem; display: flex; gap: 2rem; justify-content: space-between; }
.wux_quote-wrapper .product .product-info { display: flex; align-items: center; column-gap: 2rem; }
.wux_quote-wrapper .product .product-info .thumbnail { width: 10rem; min-width: 10rem; }

.wux_quote-wrapper .product .product-controls { display: flex; align-items: center; justify-content: space-between; column-gap: 2rem; }

.wux_quote-wrapper .product .product-title { --fs: clamp(2rem, 3vw, 2.6rem) }

.wux_quote-wrapper .product .quantity-controls { overflow: clip; display: inline-flex; align-items: center; border-radius: 4rem; border: 2px solid rgba(var(--clr-primary-rgb), .2); background-color: #FFF; }
.wux_quote-wrapper .product .quantity-controls .quantity-input { font-weight: 500; text-align: center; padding: 0 !important; -moz-appearance: textfield; width: 5.4rem; height: 5rem; min-height: 0rem !important; border-radius: .4rem; font-size: 1.6rem; border: 2px solid rgba(var(--clr-primary-rgb), .2) !important; border-top: none !important; border-bottom: none !important; background-color: transparent; border-radius: 0 !important; }
.wux_quote-wrapper .product .quantity-controls .quantity-input::-webkit-outer-spin-button,
.wux_quote-wrapper .product .quantity-controls .quantity-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.wux_quote-wrapper .product .quantity-controls .quantity-btn { border: none; background-color: transparent; display: inline-grid; place-items: center; cursor: pointer; width: 5rem; height: 5rem; transition: background-color var(--ts-15) ease-in-out; }
.wux_quote-wrapper .product .quantity-controls .quantity-btn:hover { background-color: rgba(var(--clr-primary-rgb), .2); }

.wux_quote-wrapper .product .remove { cursor: pointer; display: inline-grid; place-items: center; width: 5.6rem; height: 5.6rem; border-radius: 50%; border: 2px solid rgba(var(--clr-primary-rgb), .2); transition: border-color var(--ts-15) ease-in-out, background-color var(--ts-15) ease-in-out; }
.wux_quote-wrapper .product .remove:hover { border-color: var(--clr-danger); background-color: var(--clr-danger); }
.wux_quote-wrapper .product .remove:hover .wpb-icon { --clr: #fff; }

.wpb-card.wpb-card--product { border: none; }
.wpb-card.wpb-card--product .wpb-card__header { padding: var(--p);}
.wpb-card.wpb-card--product .wpb-card__header img { max-height: 10rem; object-fit: contain; object-position: left; }
.wpb-card.wpb-card--product .wpb-card__body a { font-size: 1.8rem; font-weight: 600; line-height: 1.4; }
.wpb-card.wpb-card--product .wpb-card__body { display: flex; flex-direction: column; gap: 20px;}
.wpb-card.wpb-card--product .wpb-card__body .product-attr { display: flex; flex-direction: row; gap: 20px; }
.wpb-card.wpb-card--product .wpb-card__body .product-attr .product-attr__item { display: flex; flex-direction: column;}
.wpb-card.wpb-card--product .wpb-card__footer { display: flex; align-items: center; }

@media(min-width:768px) {
    .quote-section-card .full-width { grid-column: span 2; }
}

@media (min-width: 992px) {
    .wux_quote-wrapper .product { flex-direction: row; }
}

/* --------------- Contact -> Header --------------- */
body.page-template-contact { background-color: #fff; }
body[class*="-template-contact"] :is(h1, h2){ --fs: clamp(3.6rem, 4vw, 5.5rem); }

/* --------------- Contact -> Contact form --------------- */
.wpb-contact { overflow: hidden; }

.gform_wrapper .gfield :is(input:not([type=checkbox], [type=radio]), textarea, select){ --border: 2px solid var(--clr-primary-light); --focus-border: 2px solid var(--clr-primary); --br: .8rem; }
.gform_wrapper .gfield textarea{ --mw: 10rem; resize: none; max-height: var(--mw); }
    
.gform_wrapper.gravity-theme .gform_footer button{ --lh: 5.5rem; --clr: #fff; --hover-clr: #fff;  --bg-clr: var(--clr-secondary); --hover-bg-clr: var(--clr-secondary-light); --br: 8rem; margin-left: auto; }

/* --------------- Blogs -> Overzicht --------------- */
body:is([class*="-type-archive-blog"], .single-blog) { background-color:#FFFF; }
body:is([class*="-type-archive-blog"], .single-blog) .wpb-background-image-container { position: absolute; inset: 0; z-index: -1; overflow: hidden; height: 180%; }
body:is([class*="-type-archive-blog"], .single-blog) .wpb-background-image-container .wpb-icon--blogs-background { position: absolute; top: 15rem; right: -20rem; opacity: .5; height: 100%; }
body[class*="-type-archive-blog"] .wpb-background-image-container .wpb-icon--europe-diamond-icon { 
    position: absolute; top: 27.5rem; left: -10rem; opacity: .5; --w: 40rem; --h: 40rem; --clr: var(--clr-primary); opacity: .03;
    mask-size: contain; -webkit-mask-size: contain; display: none; 
}

body.single-blog .wpb-header .wpb-text h1{ margin-top: 1.3rem; }
body.single-blog .wpb-header .wpb-text *{ padding-left: 0; }

body[class*="-type-archive-blog"] .wpb-toolbar .form-wrapper{ width: 20rem; margin-left: auto; position: relative; }
body[class*="-type-archive-blog"] .wpb-toolbar .form-wrapper::after{ 
    --w: 1.6rem; --h: 1.6rem; content: ''; position: absolute; top: 0; bottom: 0; margin: auto; right: 2.3rem; width: var(--w); height: var(--h); 
    background: url('/wp-content/themes/wux/assets/icons/fa/solid/chevron-down.svg'); transition: transform var(--ts-15) ease-in-out; 
}
body[class*="-type-archive-blog"] .wpb-toolbar .form-wrapper:focus-within::after{ transform: rotate(180deg); }
body[class*="-type-archive-blog"] .wpb-toolbar .form-wrapper .form-select{  --p: 0 2.3rem; font-weight: 600; appearance: none; -webkit-appearance: none; -moz-appearance: none; }
body[class*="-type-archive-blog"] .wpb-toolbar .form-wrapper .form-select:hover{ cursor: pointer; --border: 2px solid var(--clr-primary); }
.wpb-toolbar.wpb-wsb--small{ --pb: 3rem; }

body:is([class*="-type-archive-blog"], .single-blog) .wpb-card{ overflow: hidden; height: 35rem; border: none; }
body:is([class*="-type-archive-blog"], .single-blog) .wpb-card:hover{ cursor: pointer; }
body:is([class*="-type-archive-blog"], .single-blog) .wpb-card:hover .btn .wpb-icon--arrow-right-long{ transform: translateX(.5rem); }
body:is([class*="-type-archive-blog"], .single-blog) .wpb-card .wpb-background-image img{ position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -1; transition: transform var(--ts-25) ease-in-out }
body:is([class*="-type-archive-blog"], .single-blog) .wpb-card:hover .wpb-background-image img{ transform: scale(1.1); }
body:is([class*="-type-archive-blog"], .single-blog) .wpb-card .btn.btn--primary::before{ transition: border var(--ts-25) ease-in-out; }
body:is([class*="-type-archive-blog"], .single-blog) .wpb-card:hover .btn.btn--primary::before{ border: 2px solid var(--clr-primary); border-top-color: transparent; }

body:is([class*="-type-archive-blog"], .single-blog) .wpb-card .wpb-card__footer{ --g: 1.5rem; display: flex; align-items: flex-end; margin-top: auto; gap: var(--g); position: relative; }
body:is([class*="-type-archive-blog"], .single-blog) .wpb-card .wpb-card__footer :is(i, a, p, strong){ --p: 2.7rem; --lh: 1; --clr: #fff; color: #fff; padding-top: var(--p);  }
body:is([class*="-type-archive-blog"], .single-blog) .wpb-card .wpb-card__footer .wpb-card__title{ --fs: 1.8rem; line-height: .5rem; font-size: var(--fs); }
body:is([class*="-type-archive-blog"], .single-blog) .wpb-card .wpb-card__footer summary p{ --p: 0; }
body:is([class*="-type-archive-blog"], .single-blog) .wpb-card .wpb-card__footer .btn.btn--main{ padding-right: 0; }
body:is([class*="-type-archive-blog"], .single-blog) .wpb-card .wpb-card__footer::before{ z-index: -1; content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(2, 11, 24, 0) 0%, rgba(2, 11, 24, 0.72) 38.5%, #020B18 100%); }
body:is([class*="-type-archive-blog"], .single-blog) .wpb-card .wpb-card__footer::after { content: ''; position: absolute; inset: 0; }


@media (min-width: 1200px) {
    body[class*="-type-archive-blog"] .wpb-background-image-container .wpb-icon--europe-diamond-icon { display: block; }
}

/* --------------- Blogs -> Detail --------------- */
body.single-blog .wpb-content p{ padding-left: 0; }
body.single-blog .wpb-content__sidebar .container--articles{ --gap: 2.7rem; display: grid; gap: var(--gap); }
body.single-blog .wpb-content__main .content-section--images img{ --mh: 40rem; max-height: var(--mh); object-fit: cover; }

.wpb-content .wpb-text blockquote{ --clr: var(--clr-primary); border-color: var(--clr); }
.wpb-content .wpb-text blockquote p{ --fs: clamp(1.7rem, 2vw, 2rem); font-size: var(--fs); color: var(--clr); font-weight: 600; }
.wpb-content .wpb-text blockquote p em{ --fs: 1.6rem; --mt: 1.6rem; font-size: var(--fs); color: var(--clr-text); font-weight: 400; font-style: normal; margin-top: var(--mt); }

.wpb-content .wpb-content__main .btn-group--bottom .btn.btn--back{ --p: 0; --size: 4.7rem; position: relative; }
.wpb-content .wpb-content__main .btn-group--bottom .btn.btn--back i{ margin-left: 1rem; position: relative; transition: transform var(--ts-15) ease-in-out, fill var(--ts-15) ease-in-out; }
.wpb-content .wpb-content__main .btn-group--bottom .btn.btn--back .background-circle{ position: absolute; right: -1.75rem; width: var(--size); height: var(--size); }
.wpb-content .wpb-content__main .btn-group--bottom .btn.btn--back .background-circle::before{ 
    content: ''; display: block; width: var(--size); height: var(--size); border-radius: 50%; position: absolute; left: 0; top: 50%; transform: translateY(-48%) rotate(270deg); 
    border: 2px solid var(--clr-secondary); border-top-color: transparent; transition: border var(--ts-15) ease-in-out;
}
.wpb-content .wpb-content__main .btn-group--bottom .btn.btn--back:hover { color: var(--clr-primary) !important; }
.wpb-content .wpb-content__main .btn-group--bottom .btn.btn--back:hover i{ transform: translateX(-.5rem) rotate(180deg); --clr: var(--clr-primary); }
.wpb-content .wpb-content__main .btn-group--bottom .btn.btn--back:hover .background-circle::before{ border: 2px solid var(--clr-text); border-top-color: transparent; }

.wpb-content .has-background{ --p: 2.5rem; }
.wpb-content [class*="wpb-wst"].has-background { padding: var(--p); margin-top: var(--pt); }
.wpb-content [class*="wpb-wsb"].has-background { padding: var(--p); margin-bottom: var(--pb); }

.single-product .woocommerce-error {margin-top: 1rem;}

@media (min-width: 768px) {
    .wpb-content .has-background{ --p: 4rem; }
}
@media (min-width: 1200px) {
    .wpb-content .has-background{ --p: 5.5rem; }
}

.product .product__body .featured i { --clr: var(--clr-secondary); --w: 1.4rem; --h: 1.4rem;   }
.product .product__body .featured { color: #FFF; z-index: 5; display: flex; align-items: center; gap: .5rem; font-size: 1.4rem; font-weight: 600; margin-bottom: .2rem; text-shadow: rgba(var(--clr)) 1px 1px 1px;}

#after-shop-loop-notice {display: flex; flex-direction: column; row-gap: 12px; margin-top: 20px;}
#after-shop-loop-notice .btn {width: fit-content;}


/*** Product overzicht ***/
/* .post-type-archive-product .input-controller { border: 2px solid rgba(var(--clr-primary-rgb), .2); border-radius: 8rem; padding: 1.6rem 2.3rem 1.6rem 2.3rem; font-weight: 500; margin-top: 1rem;}
.post-type-archive-product .input-controller input { position: absolute; width: 100%; height: 100%; display: none; }
.variations .reset_variations { display: none !important;} */

body.error404 .wpb-header .wpb-text h1 { color: #fff; }
body.error404 .container.container--small { grid-template-columns: 1fr; }
