/*
Theme Name: Kruidenvallei Winkelthema
Version: 1.0.17
Description: Zelfstandig WooCommerce-thema voor de bestaande Kruidenvallei-winkel, categorieën en Elementor-pagina's.
Author: Kruidenvallei
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: kruidenvallei-winkelthema
*/
:root{--kv-ink:#333;--kv-text:#4a4a4a;--kv-green:#56bc3a;--kv-primary:#3ac31f;--kv-button:#2ac400;--kv-menu-color:#aaa;--kv-footer-bg:#212121;--kv-footer-text:#aaa;--kv-price:#57bf6d;--kv-line:#e9e9e9;--kv-dark:#212121}
*{box-sizing:border-box}
html{scroll-padding-top:20px}
body{margin:0;background:#fff;color:var(--kv-text);font:14px/1.8 "Trebuchet MS"}
body img{max-width:100%;height:auto}
a{color:var(--kv-ink);text-decoration:none}
a:hover{color:#398b27}
:focus-visible{outline:2px solid #328729;outline-offset:3px}
button,input,select,textarea{font:inherit}
button,summary{cursor:pointer}
button:disabled{cursor:wait}
[hidden]{display:none!important}
.screen-reader-text,.kv-skip:not(:focus){position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.kv-skip:focus{position:fixed;z-index:1000;top:5px;left:5px;background:white;padding:8px}
.kv-page{padding-block:40px}
.kv-front{width:100%}
.kv-widget{margin:0 0 27px}
.kv-widget:empty,.kv-widget:has(>.wp-block-heading:empty){display:none}
.kv-widget .widget-title,.kv-widget h4,.kv-sidebar>.widget-title{border-left:3px solid var(--kv-button);padding-left:14px;color:var(--kv-ink);font-size:18px;font-weight:800;line-height:1;margin:0 0 20px}
.kv-widget ul,:is(.kv-sidebar,.elementor-widget-sidebar) .wc-block-product-categories-list{margin:0;padding:0;list-style:none}
:is(.kv-sidebar,.elementor-widget-sidebar) .wc-block-product-categories-list li{margin:5px 0}
:is(.kv-sidebar,.elementor-widget-sidebar) .wc-block-product-categories-list .wc-block-product-categories-list{padding-left:min(12%,60px)}
:is(.kv-sidebar,.elementor-widget-sidebar) .wc-block-product-categories-list a{display:inline-flex;align-items:center;gap:7px}
:is(.kv-sidebar,.elementor-widget-sidebar) .wc-block-product-categories-list-item__image{display:inline-flex;flex:0 0 auto;padding:3px;margin:0;border:1px solid var(--kv-line)}
:is(.kv-sidebar,.elementor-widget-sidebar) .wc-block-product-categories-list-item__image img{width:48px;height:48px;display:block;object-fit:cover}
:is(.kv-sidebar,.elementor-widget-sidebar) .wc-block-product-categories-list--has-images .wc-block-product-categories-list-item{margin-inline:0}
:is(.kv-sidebar,.elementor-widget-sidebar) .wc-block-product-categories-list--has-images .wc-block-product-categories-list-item__image{margin:0}
:is(.kv-sidebar,.elementor-widget-sidebar) .wc-block-product-categories-list--has-images a{max-width:100%}
:is(.kv-sidebar,.elementor-widget-sidebar) .wc-block-product-categories-list--has-images .wc-block-product-categories-list-item__name{min-width:0;overflow-wrap:anywhere}
:is(.kv-sidebar,.elementor-widget-sidebar) .wp-block-search__inside-wrapper{display:flex;flex-wrap:wrap;gap:0}
.kv-sidebar input[type=search]{width:100%;flex-basis:100%}
.kv-sidebar input[type=search],.kv-widget input[type=email],.kv-tools select{border:1px solid #ddd;background:white;color:var(--kv-text);padding:8px 10px}
:is(.kv-sidebar,.elementor-widget-sidebar) .wp-block-search__button,.kv-widget button,.kv-sidebar .woocommerce-product-search button{border:0;background:var(--kv-button);color:white;font-size:12px;font-weight:600;padding:10px 14px;margin:0;text-transform:uppercase}
.kv-filters[open] .kv-filters-panel{position:fixed;z-index:10001;inset:0 auto 0 0;width:min(365px,90vw);overflow:auto;background:white;box-shadow:4px 0 24px #0004;padding:28px}
.kv-filter-close{margin:0 0 24px}
.kv-photo .onsale,
.woocommerce ul.products li.product .onsale,
.woocommerce.single-product div.product > .onsale,
.woocommerce.single-product .woocommerce-product-gallery .onsale,
.kv-sold {
    position: absolute;
    z-index: 2;
    inset: 12px auto auto 8px;
    width: fit-content;
    height: auto;
    min-width: 0;
    min-height: 0;
    max-width: calc(100% - 16px);
    margin: 0;
    padding: 6px 10px;
    border: 0;
    border-radius: 0;
    background: var(--kv-sale-bg, #3fc387);
    color: var(--kv-sale-ink, #fff);
    font: 700 10px/1.3 "Trebuchet MS", Helvetica, sans-serif;
    text-align: center;
    text-transform: uppercase;
    overflow-wrap: anywhere;
}
.kv-sold { background: #333; }
.woocommerce ul.products li.product .kv-photo-actions>.button,.kv-photo-actions .button,.woocommerce ul.products li.product .kvwk-buy,.kv-front .kvwk-buy{display:block;width:100%;margin:0;border:0;border-radius:0;padding:10px 5px;background:var(--kv-button);color:white;text-transform:uppercase;font-family:inherit;font-weight:600;font-size:12px;line-height:20px;letter-spacing:1px}
.kvwk-form{margin:0;text-align:center}
.kvwk-form fieldset{margin:0;padding:6px 2px 3px;border:0;min-width:0}
.kvwk-form legend,.kvwk-status,.kvwk-reset{color:white}
.kvwk-choice{display:inline-block;position:relative;margin:1px;cursor:pointer}
.kvwk-choice input{position:absolute;opacity:0;width:1px;height:1px}
.kvwk-choice span{display:block;background:white;color:#222;text-transform:uppercase;border:1px solid #ccc;padding:3px 6px;font-size:14px;line-height:20px}
.kvwk-choice input:checked+span,.kvwk-choice input:focus-visible+span{outline:2px solid #45bf35;z-index:1}
.kvwk-reset{background:transparent;border:0;text-decoration:underline}
.kvwk-status:not(:empty){display:block;color:white;font-size:12px}
.kvwk-status .stock{color:white!important;margin:0}
.kvwk-form select{max-width:100%}
.kv-excerpt{display:none}
.kv-catalog-main.kv-list ul.products{grid-template-columns:1fr}
.kv-list ul.products li.product{display:flow-root;text-align:left!important;padding:12px!important}
.kv-list .kv-photo{width:min(32%,220px);float:left;margin-right:22px}
.kv-list .kv-excerpt{display:block}
.kv-news-form input[type=email]{width:100%}.kv-news-form label:last-child{display:block;margin-top:8px;font-size:12px}
.kv-social{display:flex;gap:8px;flex-wrap:wrap}.kv-social a{width:30px;height:30px;display:grid;place-content:center;font-weight:bold;color:inherit;border:1px solid currentColor}
.kv-to-top{position:fixed;right:18px;bottom:18px;background:#222;color:white;padding:6px 12px;z-index:12}
.kv-post{border-bottom:1px solid var(--kv-line);padding-block:15px}
.alignwide{max-width:100%;margin-inline:auto}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.kv-photo-actions{transition:none}}

.kvwk-detail{display:inline-flex;flex-wrap:wrap;gap:5px;vertical-align:middle}
.kvwk-detail button{border:1px solid #ccc;background:#fff;color:#222;padding:5px 10px;line-height:1.4;text-transform:uppercase}
.kvwk-detail button[aria-pressed=true]{outline:2px solid #45bf35}
.kvwk-detail button:disabled{opacity:.5;cursor:default}

.kv-vervolg{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;min-height:48px;margin:20px 0;text-align:center}
.kv-laadstatus{font-size:14px}
.kv-laadstatus:empty{display:none}
.kv-volgende,.kv-open-pagina{padding:8px 15px}
.kv-volgende{border:1px solid #ddd;color:#333}
.kv-volgende[aria-disabled=true]{color:#666;cursor:progress}
.kv-open-pagina{text-decoration:underline}

.kv-account-keuze{display:flex;align-items:center;justify-content:center;gap:16px;margin:0 auto 35px}
.kv-account-keuze button{border:0;background:none;color:#777;padding:0;font-family:inherit;font-weight:700;font-size:clamp(28px,5vw,50px);line-height:1.1}
.kv-account-keuze button[aria-selected=true],.kv-account-keuze button:hover{color:#333}
.kv-account-keuze>span{width:36px;height:36px;display:grid;place-items:center;border:2px solid #aaa;border-radius:50%;color:#777;font-size:13px;font-weight:600;text-transform:uppercase}
.woocommerce-account .woocommerce .kv-account-panelen>div,.woocommerce-account .woocommerce>form.login{box-sizing:border-box;float:none;width:100%;max-width:560px;margin:0 auto;padding:20px;border:2px solid #eaeaea}
.kv-account-panelen>div>h2{display:none}
.woocommerce-account .woocommerce .kv-account-panelen form{border:0;border-radius:0;padding:0;margin:0}
.woocommerce-account .woocommerce .input-text,.woocommerce-account .woocommerce select{border:1px solid #ddd;padding:10px 12px;background:#fff;color:#333;max-width:100%}
.woocommerce-account .woocommerce form .form-row label{display:block;margin-bottom:4px}
.woocommerce-account .woocommerce form .button{background:var(--kv-button);border:0;color:white;border-radius:0;padding:12px 20px}
.woocommerce-account .woocommerce form .woocommerce-form-login__rememberme{display:inline-block;margin-right:12px}
.woocommerce-account .woocommerce .lost_password a,.kv-account-profiel a{color:#467a3b;text-decoration:underline}
.kv-account-zijmenu{float:left;width:28%;margin:0 0 24px}
.woocommerce-account .kv-account-zijmenu .woocommerce-MyAccount-navigation{width:100%;float:none}
.kv-account-zijmenu .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0}
.kv-account-zijmenu .woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--kv-line)}
.kv-account-zijmenu .woocommerce-MyAccount-navigation a{display:block;padding:9px 12px}
.kv-account-zijmenu .is-active a{border-left:3px solid var(--kv-green);font-weight:700}
.kv-account-profiel{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.kv-account-profiel img{width:64px;height:64px;border-radius:50%}
.kv-account-profiel a{display:block;font-size:13px}
.woocommerce-account .kv-main .woocommerce:after{content:"";display:table;clear:both}
.kv-zakelijke-login .woocommerce #customer_login>div{border:2px solid #eaeaea;padding:20px}
.kv-zakelijke-login .woocommerce #customer_login form{border:0;padding:0;margin:0}
.kv-zakelijke-login .woocommerce #customer_login .input-text{width:100%;padding:10px 12px;border:1px solid #ddd}
.kv-zakelijke-login .woocommerce #customer_login .button{background:var(--kv-button);border:0;border-radius:0;color:#fff;padding:12px 20px}
@media(max-width:760px){.kv-account-zijmenu,.woocommerce-account .woocommerce .woocommerce-MyAccount-content{width:100%;float:none}.kv-account-keuze{gap:9px}}

/* Bovenbalk, logo en navigatie delen de breedte van de oorspronkelijke winkel. */
.kv-wrap{width:var(--kv-site-width,1400px);max-width:90%;margin-inline:auto}
.kv-top{background:var(--kv-green);color:white;border-bottom:1px solid #59ff00;font-size:12px;line-height:1.8}
.kv-top .kv-wrap{display:flex;align-items:center;justify-content:space-between;min-height:38px;padding:8px 0}
.kv-top .kv-wrap>div:first-child{letter-spacing:.6px;text-transform:uppercase}
.kv-top p,.kv-menu,.kv-menu ul,.kv-foot-bottom ul{margin:0}
.kv-top a,.kv-header a,.kv-footer a{color:inherit}
.kv-social a span,.kv-social svg{display:block}
.kv-social svg{width:18px;height:18px;fill:currentColor}
.kv-social-small{gap:12px;align-items:center;justify-content:center}
.kv-social-small a{width:auto;height:20px;border:0}
.kv-social-small svg{width:14px;height:14px}
.kv-header{position:relative;z-index:20;background:var(--kv-dark);color:var(--kv-menu-color)}
.kv-header .kv-wrap{display:flow-root;position:relative}
.kv-brand{float:left;display:flex;align-items:center;min-height:var(--kv-header-height,85px);max-width:45%}
.kv-brand img{display:block;width:auto;height:auto;max-width:100%;max-height:var(--kv-logo-height,53px)}
.kv-brand a,.kv-brand picture{display:block}
.kv-only-mobile-logo,.kv-brand img.kv-only-mobile-logo,.kv-mobile-search,.kv-menu-toggle,.kv-mobiel-nav,.kv-close-label,.kv-menu.kv-mobile-only{display:none}
.kv-navigation{float:right;width:max-content;max-width:calc(100% + 15px);margin-right:-15px}
.kv-navigation nav,.kv-menu{display:contents}
.kv-menu,.kv-menu ul,.kv-foot-bottom ul{list-style:none;padding:0}
.kv-menu li{position:relative}
.kv-menu>li,.kv-header-tools{float:left;display:flex;align-items:center;min-height:var(--kv-header-height,85px)}
.kv-menu>li>a{display:block;padding:0 15px;line-height:var(--kv-header-height,85px);text-transform:uppercase;font-size:12px;letter-spacing:1px}
.kv-menu>li.menu-item-has-children>a:has(+button){padding-right:8px}
.kv-menu a:hover,.kv-header summary:hover,.kv-sub-toggle:hover{color:white}
.kv-sub-toggle,.kv-menu-toggle{background:none;border:0;color:inherit;font:inherit}
.kv-sub-toggle{padding:8px 13px 8px 3px;font:14px/1 sans-serif}
.kv-menu .sub-menu{display:none;position:absolute;z-index:5;top:100%;left:0;min-width:195px;background:var(--kv-submenu-bg,var(--kv-dark));color:var(--kv-submenu-ink,#aaa);border-top:3px solid var(--kv-primary);box-shadow:0 2px 6px #0002}
.kv-menu>li:last-child>.sub-menu{left:auto;right:0}
.kv-menu .sub-menu .sub-menu{top:0;left:100%}
.kv-menu .sub-menu>li+li{border-top:1px solid #393939}
.kv-menu .sub-menu a{display:block;padding:9px 15px;font-size:13px;line-height:1.5}
.kv-menu .sub-menu a:hover{color:white;background:#292929}
.kv-menu .sub-menu li:has(>button)>a{padding-right:35px}
.kv-menu .sub-menu .kv-sub-toggle{position:absolute;right:0;top:2px}
:is(.kv-navigation,.kv-mobiel-nav):not(.kv-submenu-ready) li:is(:hover,:focus-within)>.sub-menu,.kv-menu .kv-sub-open>.sub-menu{display:block}
.kv-header-tools{gap:0;padding:0;font-size:12px;letter-spacing:1px}
.kv-header-tools .wishlist_products_counter{min-width:49px;text-align:center}
.kv-header-tools .kv-mini>summary{display:grid;place-content:center;width:21px;min-height:36px}
.kv-cart-link{display:inline-flex;align-items:center;gap:7px;color:var(--kv-primary)!important;font-weight:600}
.kv-count{border:1px solid currentColor;line-height:18px;min-width:18px;text-align:center;position:relative}
.kv-count:before{content:"";position:absolute;width:7px;height:4px;border:1px solid currentColor;border-bottom:0;border-radius:4px 4px 0 0;bottom:100%;left:50%;transform:translateX(-50%)}
.kv-search,.kv-mini{position:relative}
.kv-search summary,.kv-mini summary,.kv-filters>summary{list-style:none}
.kv-search summary::-webkit-details-marker,.kv-mini summary::-webkit-details-marker,.kv-filters summary::-webkit-details-marker{display:none}
.kv-search summary{display:grid;place-content:center;width:42px;min-height:40px;font:22px/1 sans-serif}
.kv-search form,.kv-mini-panel{position:absolute;right:0;top:100%;z-index:5;background:white;color:#333;box-shadow:0 2px 10px #0003;min-width:220px;padding:12px}
.kv-mini-panel{width:min(310px,85vw)}
.kv-banner{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;text-align:center;min-height:285px;background:#064d38;color:white}
.kv-banner-img{position:absolute;z-index:-2;inset:0;width:100%;object-fit:cover;object-position:center}
body .kv-banner-img{height:100%}
.kv-banner:before{content:"";position:absolute;z-index:-1;inset:0;background:rgb(0 0 0 / 10%)}
.kv-banner .kv-banner-title{font:400 32px/1.4 "Trebuchet MS";color:white;margin:0}
.kv-banner .woocommerce-breadcrumb{color:white;font:inherit;font-size:13px;line-height:1.4;margin:20px 0 0}
.kv-banner .woocommerce-breadcrumb a{color:inherit}
.kv-crumb-sep{margin-inline:4px}
.kv-columns{display:grid;grid-template-columns:28% minmax(0,72%);align-items:start;margin-block:50px}
.kv-main,.kv-sidebar{min-width:0}
.kv-columns>.kv-main{grid-column:2;grid-row:1;padding-left:30px;border-left:1px solid #f1f1f1}
.kv-sidebar{grid-column:1;grid-row:1;padding-right:30px}
.kv-layout-right-sidebar{grid-template-columns:minmax(0,72%) 28%}
.kv-layout-right-sidebar>.kv-main{grid-column:1;padding:0 30px 0 0;border:0;border-right:1px solid #f1f1f1}
.kv-layout-right-sidebar>.kv-sidebar{grid-column:2;padding:0 0 0 30px}
.kv-layout-full-width,.kv-layout-full-screen{display:block}
.kv-layout-full-width>.kv-main,.kv-layout-full-screen>.kv-main{padding:0;border:0}
.kv-layout-full-screen{max-width:none;width:100%}
.kv-tools{display:flex;flex-wrap:wrap;align-items:center;gap:0 20px;padding:10px 0;margin-bottom:20px;border-block:1px solid #eaeaea}
.kv-tools .woocommerce-ordering{float:none;margin:0!important}
.kv-tools select{width:239px;height:34px;max-width:100%;border:1px solid #eaeaea;padding:0 15px;border-radius:0;background:white;color:#333;font:13px "Trebuchet MS"}
.kv-filters>summary,.kv-views button{display:inline-flex;align-items:center;justify-content:center;height:34px;border:1px solid #eaeaea;background:white;color:#999}
.kv-filters>summary{width:83px;font-weight:600}
.kv-views{display:flex}
.kv-views button{width:39px;font:19px/1 sans-serif}
.kv-views button+button{border-left:0}
.kv-views button[aria-pressed=true]{color:var(--kv-primary);border-color:var(--kv-primary)}
.kv-counts{margin-left:auto;text-transform:uppercase;font-size:12px;line-height:34px}
.kv-counts a{padding:0 1px}
.kv-counts [aria-current]{font-weight:bold}
.woocommerce ul.products,.woocommerce-page ul.products,.kv-front ul.products{display:grid;grid-template-columns:repeat(var(--kv-cols,var(--kv-cols-wide,4)),minmax(0,1fr));gap:12.5px 0;list-style:none;padding:0;margin:0 -10px}
ul.products.columns-1{--kv-cols:1}ul.products.columns-2{--kv-cols:2}ul.products.columns-3{--kv-cols:3}ul.products.columns-4{--kv-cols:4}ul.products.columns-5{--kv-cols:5}ul.products.columns-6{--kv-cols:6}
.woocommerce ul.products[data-kv-grid],.woocommerce section:is(.related,.up-sells) ul.products{--kv-cols:var(--kv-cols-wide,4)}
.woocommerce ul.products:before,.woocommerce ul.products:after,.woocommerce-page ul.products:before,.woocommerce-page ul.products:after{display:none}
body.woocommerce .kv-main ul.products[class*="columns-"]>li.product,.woocommerce ul.products li.product,body.woocommerce-page .kv-main ul.products>li.product,.kv-front .woocommerce ul.products>li.product{position:relative;float:none;clear:none;margin:0;width:auto;min-width:0;padding:0 6.25px;text-align:center}
.kv-catalog-main.kv-list ul.products{grid-template-columns:1fr}
.kv-photo,.kv-photo-link{position:relative;display:block}
.woocommerce ul.products li.product .kv-photo-link img,.kv-front ul.products li.product .kv-photo-link img{display:block;width:auto;max-width:min(100%,265px);height:auto;margin:0 auto}
.kv-thumbs{position:absolute;top:0;left:0;z-index:2;display:flex;flex-direction:column;max-height:100%;max-width:52px;overflow:auto;background:white}
.kv-thumbs a,.kv-thumbs img{display:block;width:48px;margin:0!important}
.kv-photo-actions{position:absolute;z-index:3;bottom:0;inset-inline:0;background:rgba(25,25,25,.5);transition:opacity .14s}
.kv-photo-actions,.kv-thumbs{opacity:0;pointer-events:none}
li.product:has(:focus-visible) :is(.kv-photo-actions,.kv-thumbs),li.product.kv-keuze-open :is(.kv-photo-actions,.kv-thumbs){opacity:1;pointer-events:auto}
@media(hover:hover){li.product:is(:hover,:focus-within) :is(.kv-photo-actions,.kv-thumbs){opacity:1;pointer-events:auto}}
.kv-product-info{background:white;padding:20px 15px}.kv-product-info .kv-title-link{display:block;line-height:1.5}
.kv-title-link{color:var(--kv-ink)}
.woocommerce ul.products li.product .woocommerce-loop-product__title,.kv-front ul.products li.product .woocommerce-loop-product__title{color:#333;font:800 14px/21px "Trebuchet MS";margin:0 0 20px;padding:0}
.kv-categories{font-style:italic;font-size:12px;font-weight:300;line-height:1}
.kv-categories a{color:inherit}
.woocommerce ul.products li.product .price,.kv-front ul.products li.product .price{color:var(--kv-price);font-size:18px;font-weight:400;line-height:1;margin:0;padding:12px 0;display:block}
.kvwk-choice span{display:grid;place-items:center;min-width:30px;height:30px;padding:2px 6px;margin:2px;background:white;color:black;font-size:16px;line-height:1;box-shadow:0 0 0 1px #a8a8a8;border:0}
.kvwk-choice input:checked+span{box-shadow:0 0 0 2px black;outline:0}
.kv-photo-actions legend{font-size:12px;line-height:1.25}
.kv-footer{background:var(--kv-footer-bg);color:var(--kv-footer-text)}
.kv-footer .widget-title{color:white}
.kv-foot-widgets{display:flex;flex-wrap:wrap;padding-block:30px}
.kv-foot-widgets>.footer-box{min-width:0;overflow-wrap:anywhere;max-width:100%;width:calc(100% / var(--kv-footer-cols,3));padding-right:15px}
.kv-foot-widgets .footer-widget:last-child{margin-bottom:0}
.kv-foot-widgets[data-count="1"]{--kv-footer-cols:1}.kv-foot-widgets[data-count="2"]{--kv-footer-cols:2}.kv-foot-widgets[data-count="4"]{--kv-footer-cols:4}
.kv-foot-widgets[data-count="3"]>.footer-box{width:25%}.kv-foot-widgets[data-count="3"]>.col-1{width:50%}
.kv-foot-bottom{background:var(--kv-footer-bg);color:#777;font-size:12px;line-height:1}
.kv-foot-bottom .kv-wrap{border-top:1px solid #373737;text-align:center;padding:20px 0}
.kv-foot-bottom nav{margin-bottom:16px}
.kv-foot-bottom ul{display:flex;gap:0 12px;justify-content:center;flex-wrap:wrap}
.kv-footer .kv-widget :is(input,button){max-width:100%}
@media(max-width:959px){
 .kv-columns{display:flex;flex-direction:column;gap:40px}
 .kv-columns>.kv-main,.kv-columns>.kv-sidebar{width:100%;border:0;padding:0}
}
@media(max-width:768px){
 .woocommerce ul.products,.woocommerce ul.products[data-kv-grid],.woocommerce section:is(.related,.up-sells) ul.products,.kv-front ul.products{--kv-cols:var(--kv-cols-tablet,3)}
}
@media(max-width:767px){
 .kv-banner{min-height:0;padding:34px 0}
}
@media(max-width:580px){
 .kv-tools{justify-content:center;row-gap:14px}
 .kv-tools .woocommerce-ordering,.kv-tools select{width:100%}
 .kv-counts{display:none}
}
@media(max-width:480px){
 .woocommerce ul.products,.woocommerce ul.products[data-kv-grid],.woocommerce section:is(.related,.up-sells) ul.products,.kv-front ul.products{--kv-cols:var(--kv-cols-phone,1)}
 .kv-to-top{display:none!important}
}

body.home.elementor-page{font-family:Dosis,sans-serif;font-size:17px;line-height:1.8}

.kv-social-widget .kv-social{gap:5px}
.kv-social-widget .kv-social a{width:var(--kv-social-size,55px);height:var(--kv-social-size,55px);border:1px solid #e9e9e9;border-radius:var(--kv-icon-radius,0);color:#bbb}
.kv-social-widget .kv-social svg{width:var(--kv-icon-size,18px);height:var(--kv-icon-size,18px)}
.kv-social-dark .kv-social a{border-color:#555;color:#aaa}
.kv-social-simple .kv-social a{width:auto;height:auto;padding:4px;border:0}
.kv-news-email{position:relative}
.kv-news-email input[type=email]{width:100%;height:50px;border:1px solid #ddd;padding:0 125px 0 15px;color:#333}
.kv-news-email button{position:absolute;top:50%;right:10px;transform:translateY(-50%);height:30px;max-width:48%;padding:0 16px;border:1px solid white;color:white;background:var(--kv-button);font-size:12px;letter-spacing:1px;line-height:1.2;text-transform:uppercase}
.kv-news-form label:last-child{margin-top:8px}
.kv-footer .kv-news-email input[type=email]{background:#383838;color:#bbb;height:40px;border-color:#383838;border-radius:20px}
.kv-footer .kv-news-email button{min-width:0;right:2px;height:36px;border-radius:20px;background:#212121}
.kv-foot-widgets>.footer-box:not(:first-child){padding-left:clamp(10px,4vw,60px);border-left:1px solid #373737}
@media(max-width:768px){
 .kv-foot-widgets{row-gap:30px}
 .kv-footer #footer-widgets[data-count]>.footer-box{width:50%}
}
@media(max-width:767px){
 .kv-foot-widgets>.footer-box:not(:first-child){border:0;padding-left:0}
}
@media(max-width:480px){
 .kv-footer #footer-widgets[data-count]>.footer-box{width:100%}
 .kv-footer #footer-widgets[data-count="3"]>.col-1{width:50%}
 .kv-footer .kv-news-email input[type=email]{padding-right:10px}
 .kv-footer .kv-news-email button{position:static;transform:none;max-width:100%;margin-top:4px}
}

/* Keep TI's real interactive control and render its label for assistive technology. */
ul.products li.product .kv-photo>.tinvwl-loop-button-wrapper{position:absolute;z-index:5;top:15px;right:15px;bottom:auto;left:auto;margin:0;opacity:0;pointer-events:none}
ul.products li.product .kv-photo .tinvwl_add_to_wishlist_button{box-sizing:border-box;display:grid;place-items:center;position:relative;width:40px;height:40px;min-width:0;margin:0;padding:0;border:0;border-radius:50%;background:#fff;color:#444;box-shadow:0 0 15px rgb(0 0 0 / 10%);font-size:0;line-height:1}
ul.products li.product .kv-photo .tinvwl_add_to_wishlist_button::before{content:"\e909";display:block;position:static;float:none;margin:0;font:normal 400 18px/1 tinvwl-webfont;-webkit-font-smoothing:antialiased}
ul.products li.product .kv-photo .tinvwl_add_to_wishlist_button:is(.tinvwl-product-in-list,[aria-pressed=true])::before{content:"\e908"}
.kv-photo .tinvwl_add_to_wishlist_button>span{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.kv-photo .tinvwl_add_to_wishlist_button>img,.kv-photo .tinvwl-tooltip{display:none!important}
ul.products li.product:is(:hover,:focus-within,.kv-keuze-open) .kv-photo>.tinvwl-loop-button-wrapper{opacity:1;pointer-events:auto}
@media(hover:none),(pointer:coarse),(max-width:480px){
 ul.products li.product .kv-photo>.tinvwl-loop-button-wrapper{visibility:visible;opacity:1;pointer-events:auto}
}
/* The native sale flash is inside the photo link. Share its rows with the
   stock label and thumbnail strip, so even a wrapped label has its own space. */
ul.products li.product .kv-photo:has(.onsale, .kv-sold) {
    display: grid;
    grid-template: max-content max-content minmax(52px, 1fr) / minmax(0, 1fr);
    container: kv-productfoto / inline-size;
}
ul.products li.product .kv-photo:has(.onsale, .kv-sold) > .kv-photo-link {
    grid-area: 1 / 1 / 4 / 2;
    display: grid;
    grid-template-rows: subgrid;
}
ul.products li.product .kv-photo-link > :is(img, picture) {
    grid-area: 1 / 1 / 4 / 2;
    align-self: start;
}
ul.products li.product .kv-photo .onsale,
ul.products li.product .kv-photo > .kv-sold {
    position: relative;
    inset: auto;
    place-self: start;
    margin: 12px 8px 0;
}
ul.products li.product .kv-photo .onsale { grid-area: 1 / 1; }
/* Cancel the Massabalans offsets so its label uses the same grid cell. */
ul.products li.product .kv-photo .onsale.kvmb-tht-onsale {
    inset: auto !important;
    min-width: 0;
    white-space: normal;
}
ul.products li.product .kv-photo > .kv-sold { grid-area: 2 / 1; }
ul.products li.product .kv-photo:has(.onsale) > .kv-sold { margin-top: 4px; }
ul.products li.product .kv-photo:has(.tinvwl_add_to_wishlist_button) :is(.onsale, .kv-sold) {
    max-width: calc(100% - 72px);
}
ul.products li.product .kv-photo:has(.onsale, .kv-sold) > .kv-thumbs {
    grid-area: 3 / 1;
    top: 4px;
    max-height: calc(100% - 4px);
}
/* In a narrow list or multi-column card the heart fits on the next row. */
@container kv-productfoto (max-width: 164px) {
    ul.products li.product .kv-photo:has(.tinvwl_add_to_wishlist_button) :is(.onsale, .kv-sold) {
        max-width: calc(100% - 16px);
    }
    ul.products li.product .kv-photo > .tinvwl-loop-button-wrapper {
        grid-area: 3 / 1;
        top: 6px;
        right: 6px;
    }
}
.home .elementor-widget-text-editor p:empty{margin:0}

.kv-mini-panel .widget_shopping_cart_content:has(.woocommerce-mini-cart__buttons a) + .kv-mini-fallback{display:none}
