/* ============================================================
   KENZOL — WooCommerce styling
   Uses the design tokens declared in style.css (:root).
   ============================================================ */

.woo-page{padding-top:46px;padding-bottom:74px}
.woo-wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.woocommerce .woo-content{width:100%}

/* notices */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews{
	border:1px solid var(--line);border-left:4px solid var(--gold);
	background:#fff;border-radius:10px;padding:15px 18px;margin:0 0 24px;
	font-size:15px;color:var(--ink);list-style:none;box-shadow:var(--shadow-sm)}
.woocommerce-error{border-left-color:var(--red)}
.woocommerce-info{border-left-color:var(--orange)}
.woocommerce-message a.button,.woocommerce-error a.button,.woocommerce-info a.button{float:right}

/* buttons */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce #respond input#submit,
.woocommerce .button{
	background:var(--ink);color:#fff;border:0;border-radius:10px;
	font-family:var(--fd);font-weight:700;letter-spacing:.05em;text-transform:uppercase;
	padding:12px 22px;font-size:15px;cursor:pointer;transition:transform .15s ease,background .2s ease;line-height:1.2}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce .button:hover,.woocommerce #respond input#submit:hover{background:#000;color:#fff;transform:translateY(-2px)}
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce #respond input#submit.alt,
.woocommerce .single_add_to_cart_button,.woocommerce .checkout-button{
	background:var(--gold);color:var(--black);box-shadow:0 8px 22px rgba(245,181,12,.35)}
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,
.woocommerce .single_add_to_cart_button:hover,.woocommerce .checkout-button:hover{
	background:var(--gold-dark);color:var(--black);transform:translateY(-2px)}
.woocommerce .button.added::after{font-family:inherit}

/* prices */
.woocommerce .price,.woocommerce span.amount{font-family:var(--fd);font-weight:800;color:var(--ink)}
.woocommerce .price del{color:var(--slate);font-weight:600;opacity:.7}
.woocommerce .price ins{text-decoration:none;color:var(--red)}

/* sale flash */
.woocommerce span.onsale{
	background:var(--red);color:#fff;font-family:var(--fd);font-weight:800;letter-spacing:.04em;
	text-transform:uppercase;border-radius:8px;min-height:auto;min-width:auto;
	padding:6px 12px;top:12px;left:12px;line-height:1}

/* star ratings */
.woocommerce .star-rating span::before,
.woocommerce p.stars a::before{color:var(--gold)}
.woocommerce .star-rating::before{color:#d9d3c6}

/* ============================================================
   SHOP / ARCHIVE GRID
   ============================================================ */
.woocommerce .woocommerce-result-count{color:var(--slate);font-size:14px}
.woocommerce .woocommerce-ordering select{
	border:1px solid var(--line);border-radius:8px;padding:8px 12px;font-family:var(--fb);background:#fff}

.woocommerce ul.products{display:grid;gap:22px;margin:18px 0 0;padding:0;grid-template-columns:repeat(3,1fr)}
.woocommerce ul.products.columns-1{grid-template-columns:1fr}
.woocommerce ul.products.columns-2{grid-template-columns:repeat(2,1fr)}
.woocommerce ul.products.columns-4{grid-template-columns:repeat(4,1fr)}
.woocommerce ul.products.columns-5{grid-template-columns:repeat(5,1fr)}
.woocommerce ul.products.columns-6{grid-template-columns:repeat(6,1fr)}
.woocommerce ul.products li.product{
	width:auto!important;margin:0!important;float:none!important;
	background:#fff;border:1px solid var(--line);border-radius:var(--radius);
	overflow:hidden;padding:0;transition:transform .2s ease,box-shadow .2s ease;display:flex;flex-direction:column}
.woocommerce ul.products li.product:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:transparent}
/* clean image area — no inner frame, image sits flush on a soft gradient */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
.woocommerce ul.products li.product > a:first-of-type{display:block}
.woocommerce ul.products li.product img{
	margin:0;width:100%;height:220px;object-fit:contain;
	background:radial-gradient(120% 90% at 50% 12%,#fff,#eef0f4 72%);
	padding:20px;border:0;border-radius:0;box-shadow:none}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
	font-family:var(--fd);font-weight:800;font-size:18px;text-transform:uppercase;
	color:var(--ink);padding:14px 16px 2px;line-height:1.1}
.woocommerce ul.products li.product .star-rating{margin:6px 16px;font-size:14px}
.woocommerce ul.products li.product .price{display:block;padding:4px 16px 0;font-size:21px}
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart{
	margin:14px 16px 18px;display:block;text-align:center}

/* pagination */
.woocommerce nav.woocommerce-pagination ul{border:0;margin-top:34px}
.woocommerce nav.woocommerce-pagination ul li{border:0;margin:0 4px}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
	border:1px solid var(--line);border-radius:9px;padding:10px 15px;font-family:var(--fd);
	font-weight:700;color:var(--ink);background:#fff}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover{background:var(--gold);color:var(--black);border-color:var(--gold)}

/* ============================================================
   SINGLE PRODUCT
   ============================================================ */
.single-product div.product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:46px;align-items:start;max-width:1180px;margin:0 auto}
.single-product div.product .woocommerce-product-gallery{position:sticky;top:100px;
	width:100%!important;margin:0;background:none;border:0;padding:0}
/* the main image sits in its own white card */
.single-product div.product .woocommerce-product-gallery__wrapper{
	margin:0;background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px}
.single-product div.product .summary{margin:0!important;width:100%!important;float:none!important}
.single-product div.product .product_title{
	font-family:var(--fd);font-weight:800;font-size:clamp(28px,3.4vw,42px);
	text-transform:uppercase;color:var(--ink);margin:0 0 12px;line-height:1.02}
.single-product div.product .summary .price{font-size:30px;margin:0 0 18px;display:block}
.single-product div.product .woocommerce-product-rating{margin-bottom:14px}
.single-product .woocommerce-product-details__short-description{color:#3a3a40;line-height:1.7;margin-bottom:22px}
.single-product div.product form.cart{margin:22px 0}
.single-product div.product form.cart:not(.variations_form){display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.single-product .woocommerce-variation-add-to-cart{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:6px}
/* quantity stepper (− input +) */
.single-product div.product form.cart .quantity{display:flex;align-items:center;border:1.5px solid var(--line);border-radius:11px;background:#fff;overflow:hidden}
.single-product div.product form.cart .quantity .kz-qty-btn{
	width:46px;height:52px;border:0;background:#fff;font-size:22px;line-height:1;color:var(--ink);
	cursor:pointer;font-family:var(--fd);transition:.15s}
.single-product div.product form.cart .quantity .kz-qty-btn:hover{background:var(--bg-warm);color:var(--orange-deep)}
.single-product div.product form.cart .quantity input.qty{
	width:50px;height:52px;border:0;border-left:1px solid var(--line);border-right:1px solid var(--line);
	border-radius:0;text-align:center;font-family:var(--fd);font-weight:800;font-size:18px;
	-moz-appearance:textfield;appearance:textfield;background:#fff}
.single-product div.product form.cart .quantity input.qty::-webkit-outer-spin-button,
.single-product div.product form.cart .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.single-product div.product form.cart .single_add_to_cart_button{height:54px;padding:0 30px;font-size:16px}

/* product gallery thumbnails — small rounded tiles */
.woocommerce-product-gallery .flex-control-thumbs{
	display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 2px;padding:0;list-style:none}
.woocommerce-product-gallery .flex-control-thumbs li{
	width:80px!important;height:80px;margin:0!important;float:none!important;list-style:none}
.woocommerce-product-gallery .flex-control-thumbs img{
	width:100%;height:100%;object-fit:contain;cursor:pointer;
	border:1px solid var(--line);border-radius:12px;padding:7px;opacity:.65;
	background:#fff;transition:.15s}
.woocommerce-product-gallery .flex-control-thumbs img:hover{opacity:1;border-color:var(--orange)}
.woocommerce-product-gallery .flex-control-thumbs img.flex-active{opacity:1;border-color:var(--ink);box-shadow:0 0 0 1px var(--ink) inset}
.single-product div.product .single_add_to_cart_button{height:54px;padding:0 30px;font-size:16px}
.single-product .product_meta{font-size:13px;color:var(--slate);margin-top:18px;border-top:1px solid var(--line);padding-top:16px}
.single-product .product_meta a{color:var(--orange-deep)}

/* variations */
.single-product table.variations{margin:0 0 18px}
.single-product table.variations td,.single-product table.variations th{padding:6px 0}
.single-product .variations select{border:1px solid var(--line);border-radius:9px;padding:11px 14px;background:#fff;font-family:var(--fb)}

/* tabs */
.woocommerce-tabs{grid-column:1/-1;margin-top:54px}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:0 0 22px;border-bottom:1px solid var(--line)}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{border-color:var(--line)}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
	background:transparent;border:0;border-radius:0;margin:0 18px 0 0;padding:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
	font-family:var(--fd);font-weight:700;text-transform:uppercase;letter-spacing:.04em;
	color:var(--slate);padding:12px 2px;display:inline-block;border-bottom:3px solid transparent}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--ink);border-bottom-color:var(--gold)}
.woocommerce div.product .woocommerce-tabs .panel{padding:0;color:#3a3a40;line-height:1.7}
.woocommerce div.product .woocommerce-tabs .panel h2{font-family:var(--fd);text-transform:uppercase;font-size:24px}

/* related / upsells */
.woocommerce .related,.woocommerce .upsells{grid-column:1/-1;margin-top:54px}
.woocommerce .related > h2,.woocommerce .upsells > h2{
	font-family:var(--fd);font-weight:800;text-transform:uppercase;font-size:28px;color:var(--ink);margin-bottom:20px}

/* ============================================================
   CART
   ============================================================ */
.woocommerce table.shop_table{border:1px solid var(--line);border-radius:14px;border-collapse:separate;overflow:hidden}
.woocommerce table.shop_table th{
	font-family:var(--fd);text-transform:uppercase;letter-spacing:.04em;color:var(--ink);
	background:var(--bg-warm);padding:16px}
.woocommerce table.shop_table td{padding:16px;border-top:1px solid var(--line)}
.woocommerce table.cart img{width:64px;border-radius:8px;border:1px solid var(--line)}
.woocommerce a.remove{color:var(--red)!important;font-weight:700;border:1px solid var(--line)}
.woocommerce a.remove:hover{background:var(--red);color:#fff!important}
.woocommerce .cart-collaterals .cart_totals h2{
	font-family:var(--fd);text-transform:uppercase;font-size:24px;color:var(--ink)}
.woocommerce .cart_totals table.shop_table{background:#fff}
.woocommerce .cart-collaterals .cart_totals .order-total .amount{color:var(--ink);font-size:22px}
.woocommerce .actions .coupon input.input-text{
	border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-family:var(--fb)}
.woocommerce .wc-proceed-to-checkout a.checkout-button{font-size:17px;padding:16px 24px;width:100%;text-align:center}

/* ============================================================
   CHECKOUT
   ============================================================ */
.woocommerce-checkout .col2-set,.woocommerce-checkout #customer_details{margin-bottom:10px}
.woocommerce form .form-row label{font-weight:600;color:var(--ink);font-size:14px}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-checkout .select2-container .select2-selection{
	border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-family:var(--fb);font-size:15px;background:#fff}
.woocommerce-checkout h3{font-family:var(--fd);text-transform:uppercase;font-size:22px;color:var(--ink)}
.woocommerce-checkout #payment{background:var(--bg-warm);border:1px solid var(--line);border-radius:14px}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid var(--line)}
.woocommerce-checkout #payment div.payment_box{background:#fff;border:1px solid var(--line)}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:#fff}
.woocommerce #order_review .order-total .amount{color:var(--ink)}
.woocommerce-form-coupon-toggle .woocommerce-info{border-left-color:var(--gold)}

/* ============================================================
   MY ACCOUNT
   ============================================================ */
.woocommerce-account .woocommerce{display:grid;grid-template-columns:240px 1fr;gap:40px}
.woocommerce-account .woocommerce-MyAccount-navigation{margin:0}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.woocommerce-account .woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--line)}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child{border-bottom:0}
.woocommerce-account .woocommerce-MyAccount-navigation li a{
	display:block;padding:14px 18px;font-family:var(--fd);font-weight:700;text-transform:uppercase;
	letter-spacing:.03em;color:var(--ink);transition:.15s}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{background:var(--gold);color:var(--black)}
.woocommerce-account .woocommerce-MyAccount-content{margin:0}
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .addresses .title h3{font-family:var(--fd);text-transform:uppercase;color:var(--ink)}

/* login / register forms */
.woocommerce-account:not(.logged-in) .woocommerce{grid-template-columns:1fr;max-width:920px;margin:0 auto}
.woocommerce .col2-set .col-1,.woocommerce .col2-set .col-2{float:none;width:100%}
.woocommerce #customer_login{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.woocommerce form.login,.woocommerce form.register,.woocommerce form.checkout_coupon,.woocommerce form.lost_reset_password{
	border:1px solid var(--line);border-radius:14px;padding:26px}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:980px){
	.woocommerce ul.products,
	.woocommerce ul.products.columns-2,
	.woocommerce ul.products.columns-4,
	.woocommerce ul.products.columns-5,
	.woocommerce ul.products.columns-6{grid-template-columns:repeat(2,1fr)}
	.single-product div.product{grid-template-columns:1fr;gap:28px;max-width:none}
	.single-product div.product .woocommerce-product-gallery{position:static;top:auto}
	.woocommerce-account .woocommerce{grid-template-columns:1fr}
	.woocommerce #customer_login{grid-template-columns:1fr}
}
@media(max-width:560px){
	.woocommerce ul.products,
	.woocommerce ul.products.columns-2,
	.woocommerce ul.products.columns-4,
	.woocommerce ul.products.columns-5,
	.woocommerce ul.products.columns-6{grid-template-columns:1fr 1fr}
	.woocommerce table.shop_table_responsive tr td{text-align:right}
}

/* ============================================================
   SINGLE PRODUCT — Kenzol design additions (hook-injected)
   ============================================================ */
.single-product div.product{position:relative}

/* category eyebrow */
.single-product .kz-spec-eyebrow{margin-bottom:6px}
.single-product .kz-spec-eyebrow .eyebrow{
	font-family:var(--fd);font-weight:700;font-size:13px;letter-spacing:.2em;
	text-transform:uppercase;color:var(--orange-deep)}

/* availability pill */
.single-product .kz-instock,
.single-product .kz-outstock{
	display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:13px;
	margin:2px 0 14px}
.single-product .kz-instock{color:var(--green)}
.single-product .kz-instock svg{width:16px;height:16px}
.single-product .kz-outstock{color:var(--red)}

/* key-spec grid */
.single-product .kz-keyspecs{
	display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;margin:4px 0 22px;
	padding:18px 20px;background:#fff;border:1px solid var(--line);border-radius:14px}
.single-product .kz-keyspecs .k{display:flex;align-items:center;gap:10px;font-size:14px}
.single-product .kz-keyspecs .k svg{width:18px;height:18px;color:var(--orange-deep);flex-shrink:0}
.single-product .kz-keyspecs .k b{font-family:var(--fd);font-weight:700;color:var(--ink)}
.single-product .kz-keyspecs .k span{color:var(--slate)}

/* kentekencheck "fits your car" badge (rendered by the kenteken plugin) */
.single-product .kz-kenteken-match{
	display:flex;align-items:center;gap:14px;background:linear-gradient(120deg,#0c0c0e,#1d1f24);
	color:#fff;border-radius:14px;padding:16px 18px;margin-bottom:22px;position:relative;overflow:hidden}
.single-product .kz-kenteken-match::before{content:"";position:absolute;inset:0;
	background:radial-gradient(60% 120% at 12% 50%,rgba(245,181,12,.16),transparent 60%)}
.single-product .kz-kenteken-match .plate{position:relative;z-index:1;background:var(--gold);
	color:#0c0c0e;font-family:var(--fd);font-weight:800;font-size:18px;letter-spacing:.08em;
	padding:8px 12px;border-radius:6px;border:2px solid #d59f06;flex-shrink:0}
.single-product .kz-kenteken-match .txt{position:relative;z-index:1;font-size:14px;color:#e9e5db}
.single-product .kz-kenteken-match .txt b{color:#fff;font-family:var(--fd);font-size:16px;
	display:block;text-transform:uppercase;letter-spacing:.02em}
.single-product .kz-kenteken-match .change{position:relative;z-index:1;margin-left:auto;
	font-family:var(--fd);font-weight:700;font-size:13px;letter-spacing:.04em;text-transform:uppercase;
	color:var(--gold);white-space:nowrap}

/* delivery note + trust row */
.single-product .kz-delivery{display:flex;align-items:center;gap:8px;font-size:13.5px;
	color:var(--slate);margin:16px 0 18px}
.single-product .kz-delivery svg{width:18px;height:18px;color:var(--green);flex-shrink:0}
.single-product .kz-delivery b{color:var(--ink)}
.single-product .kz-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;
	border-top:1px solid var(--line);padding-top:20px;margin-top:4px}
.single-product .kz-trust .t{display:flex;align-items:center;gap:10px}
.single-product .kz-trust .t .ic{width:38px;height:38px;border-radius:10px;background:var(--bg-warm);
	display:flex;align-items:center;justify-content:center;flex-shrink:0}
.single-product .kz-trust .t .ic svg{width:20px;height:20px;color:var(--orange-deep)}
.single-product .kz-trust .t b{font-family:var(--fd);font-weight:700;font-size:14px;color:var(--ink);display:block;line-height:1.1}
.single-product .kz-trust .t span{font-size:12px;color:var(--slate)}

@media(max-width:560px){
	.single-product .kz-keyspecs{grid-template-columns:1fr}
	.single-product .kz-trust{grid-template-columns:1fr;gap:14px}
}

/* single product breadcrumb */
.single-product .kz-single-crumbs{font-size:13px;color:var(--slate);margin:0 0 22px;max-width:1180px;margin-left:auto;margin-right:auto}
.single-product .kz-single-crumbs a{color:var(--slate)}
.single-product .kz-single-crumbs a:hover{color:var(--orange-deep)}

/* ============================================================
   SHOP ARCHIVE — custom layout with sidebar (archive-product.php)
   ============================================================ */
.shop-layout{display:flex;gap:36px;align-items:flex-start;padding-top:40px;padding-bottom:78px}
.shop-sidebar{width:264px;flex:0 0 264px}
.shop-main{flex:1 1 auto;min-width:0}

/* sidebar widgets */
.shop-sidebar .shop-widget,
.shop-sidebar .widget{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;margin-bottom:22px}
.shop-widget__title,.shop-sidebar .widgettitle{font-family:var(--fd);font-weight:800;text-transform:uppercase;font-size:18px;color:var(--ink);margin:0 0 14px}
.shop-cats{list-style:none;margin:0;padding:0}
.shop-cats > li{border-bottom:1px solid var(--line)}
.shop-cats > li:last-child{border-bottom:0}
.shop-cat-row{display:flex;align-items:center;gap:6px}
.shop-cats a{flex:1;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 2px;font-weight:600;font-size:14.5px;color:var(--ink)}
.shop-cats a span{color:var(--slate);font-size:12px;background:var(--bg-warm);border:1px solid var(--line);border-radius:20px;padding:2px 9px;line-height:1.5}
.shop-cats .shop-cat-row > a:hover,.shop-cats li.is-active>.shop-cat-row>a{color:var(--orange-deep)}
/* plus / minus toggle */
.shop-cat-toggle{flex:0 0 30px;width:30px;height:30px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer;position:relative;padding:0;transition:.15s}
.shop-cat-toggle:hover{border-color:var(--orange);background:var(--bg-warm)}
.shop-cat-toggle span{position:absolute;left:50%;top:50%;width:11px;height:2px;background:var(--ink);border-radius:2px;transform:translate(-50%,-50%)}
.shop-cat-toggle span::before{content:"";position:absolute;left:50%;top:50%;width:2px;height:11px;background:var(--ink);border-radius:2px;transform:translate(-50%,-50%);transition:.15s}
.shop-cats li.is-open>.shop-cat-row .shop-cat-toggle{border-color:var(--ink);background:var(--ink)}
.shop-cats li.is-open>.shop-cat-row .shop-cat-toggle span{background:#fff}
.shop-cats li.is-open>.shop-cat-row .shop-cat-toggle span::before{transform:translate(-50%,-50%) scaleY(0)}
/* nested subcategories */
.shop-subcats{list-style:none;margin:0;padding:0 0 8px 14px;display:none;border-left:2px solid var(--line);margin-left:4px}
.shop-cats li.is-open>.shop-subcats{display:block}
.shop-subcats li{border-bottom:0}
.shop-subcats a{padding:7px 2px;font-size:13.5px;font-weight:500;color:var(--slate)}
.shop-help{font-size:14px;color:var(--slate);margin:0 0 14px;line-height:1.55}
.shop-sidebar .widget ul{list-style:none;margin:0;padding:0}
.shop-sidebar .widget ul li{padding:8px 0;font-size:14.5px;border-bottom:1px solid var(--line)}
.shop-sidebar .widget ul li:last-child{border-bottom:0}
.shop-sidebar .widget ul li a:hover{color:var(--orange-deep)}
/* price filter widget */
.shop-sidebar .price_slider_wrapper .ui-slider{background:var(--line)}
.shop-sidebar .ui-slider .ui-slider-range,
.shop-sidebar .ui-slider .ui-slider-handle{background:var(--gold)}

/* toolbar (result count + ordering) */
.shop-main .woocommerce-result-count{margin:0 0 16px;color:var(--slate);font-size:14px}
.shop-main .woocommerce-ordering{margin:0 0 16px}

/* product grid — forced 3 columns, beats WooCommerce floats and stale cache */
.shop-main ul.products{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:22px;margin:0!important;padding:0!important;list-style:none}
.shop-main ul.products::before,.shop-main ul.products::after{content:none!important;display:none!important}
.shop-main ul.products li.product{width:auto!important;margin:0!important;float:none!important;clear:none!important}

/* product card */
.kz-product{background:#fff;border:1px solid var(--line)!important;border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease}
.kz-product:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:transparent!important}
.kz-product__media{position:relative;display:block;height:300px;background:#fff;overflow:hidden;border-bottom:1px solid var(--line)}
.kz-product__media img{width:100%!important;height:100%!important;object-fit:contain!important;margin:0!important;padding:0!important;display:block;background:#fff!important;border-radius:0!important;box-shadow:none!important}
.kz-flash{position:absolute;top:12px;left:12px;z-index:2;font-family:var(--fd);font-weight:800;font-size:11px;letter-spacing:.05em;text-transform:uppercase;padding:5px 11px;border-radius:7px}
.kz-flash--sale{background:var(--red);color:#fff}
.kz-flash--top{background:var(--gold);color:var(--black)}
.kz-product__body{padding:16px;display:flex;flex-direction:column;flex:1}
.kz-product__cat{font-family:var(--fd);font-weight:700;font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--orange-deep)}
.kz-product__title{font-family:var(--fd);font-weight:800;font-size:18px;text-transform:uppercase;color:var(--ink);margin:4px 0 6px;line-height:1.1}
.kz-product__title a{color:inherit}
.kz-product__rating{margin-bottom:8px}
.kz-product__rating .star-rating{font-size:14px;margin:0}
.kz-product__foot{margin-top:auto}
.kz-product__price{font-family:var(--fd);font-weight:900;font-size:22px;color:var(--ink);display:block}
.kz-product__price del{font-size:13px;color:var(--slate);font-weight:600;font-family:var(--fb)}
.kz-product__price ins{text-decoration:none}
.kz-product .button{display:block!important;width:100%;text-align:center;margin:12px 0 0!important}
.kz-product .added_to_cart{display:block;text-align:center;margin:8px 0 0;font-family:var(--fd);font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:13px;color:var(--orange-deep)}

@media(max-width:980px){
	.shop-layout{flex-direction:column;gap:0}
	.shop-sidebar{width:100%;flex:none}
	.shop-main ul.products{grid-template-columns:repeat(2,1fr)!important}
	.kz-product__media{height:240px}
}
@media(max-width:560px){
	.shop-main ul.products{grid-template-columns:1fr 1fr!important}
	.kz-product__media{height:200px}
	.kz-product__title{font-size:16px}
	.kz-product__price{font-size:19px}
}

/* ============================================================
   SINGLE PRODUCT — exact design extras (v1.2)
   ============================================================ */
/* main-image card — clean white background; thumbnails stay on the page bg */
.single-product div.product .woocommerce-product-gallery{background:none !important}
.single-product div.product .woocommerce-product-gallery__wrapper{background:#fff !important}

/* price block */
.single-product .kz-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px 12px;margin:2px 0 18px}
.single-product .kz-price .kz-price__html{font-family:var(--fd);font-weight:900;color:var(--ink);line-height:1}
.single-product .kz-price .woocommerce-Price-amount{font-size:38px}
.single-product .kz-price del .woocommerce-Price-amount{font-size:18px;color:var(--slate);font-weight:600;font-family:var(--fb)}
.single-product .kz-price ins{text-decoration:none}
.single-product .kz-price__save{background:#fdecec;color:var(--red);font-weight:800;font-size:13px;padding:5px 10px;border-radius:7px}
.single-product .kz-price__vat{font-size:12px;color:var(--slate);align-self:flex-end}

/* static "geschikt voor" badge */
.single-product .kz-kenteken-match--static{background:linear-gradient(120deg,#fdf4e6,#fff);border:1px solid var(--line);color:var(--ink)}
.single-product .kz-kenteken-match--static::before{display:none}
.single-product .kz-kenteken-match--static .kz-fits-ic{position:relative;z-index:1;width:40px;height:40px;border-radius:11px;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.single-product .kz-kenteken-match--static .kz-fits-ic svg{width:22px;height:22px}
.single-product .kz-kenteken-match--static .txt{color:var(--slate)}
.single-product .kz-kenteken-match--static .txt b{color:var(--ink)}

/* variation pills (swatches) */
.single-product .kz-swatches{display:flex;flex-wrap:wrap;gap:10px;margin:2px 0 4px}
.single-product .kz-swatch{border:1.5px solid var(--line);background:#fff;border-radius:11px;padding:11px 18px;cursor:pointer;font-family:var(--fd);font-weight:800;font-size:16px;color:var(--ink);transition:.15s;line-height:1}
.single-product .kz-swatch:hover{border-color:var(--orange)}
.single-product .kz-swatch.is-active{border-color:var(--ink);background:var(--ink);color:#fff}
.single-product .kz-swatch.is-disabled{opacity:.4;cursor:not-allowed;text-decoration:line-through}
.single-product .variations_form .variations td.value select.kz-hidden-select{display:none}
.single-product .variations_form table.variations th.label label{font-family:var(--fd);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink)}

/* wishlist heart */
.single-product .kz-wishlist{width:54px;height:54px;border-radius:11px;border:1.5px solid var(--line);background:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink);transition:.15s;flex-shrink:0}
.single-product .kz-wishlist:hover,.single-product .kz-wishlist.is-saved{border-color:var(--red);color:var(--red)}
.single-product .kz-wishlist.is-saved svg{fill:var(--red)}
.single-product .kz-wishlist svg{width:22px;height:22px}

/* spec table (Specificaties tab) */
.kz-spec-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;margin:0 0 8px}
.kz-spec-table tr:nth-child(odd){background:#fff}
.kz-spec-table tr:nth-child(even){background:var(--bg-warm)}
.kz-spec-table th{text-align:left;font-family:var(--fd);text-transform:uppercase;letter-spacing:.03em;color:var(--ink);width:38%;padding:13px 18px;font-size:14px;border-bottom:1px solid var(--line)}
.kz-spec-table td{padding:13px 18px;color:#3a3a40;font-size:14.5px;border-bottom:1px solid var(--line)}
.kz-spec-table tr:last-child th,.kz-spec-table tr:last-child td{border-bottom:0}
.kz-oem-approvals{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.kz-oem-approvals .chip{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 16px;font-family:var(--fd);font-weight:700;color:var(--ink);box-shadow:var(--shadow-sm)}
.kz-oem-approvals .chip svg{width:18px;height:18px;color:var(--green)}

/* ============================================================
   SINGLE PRODUCT — layout fixes (v1.2.1)
   ============================================================ */
/* hide the default "X op voorraad" count (we show our own pill at the top) */
.single-product .summary .stock{display:none !important}

/* hide redundant pre-selection variation notice (the pills are self-explanatory) */
.single-product .summary .woocommerce-info,
.single-product .wc-no-matching-variations{display:none !important}

/* compact, vertical variation selector (label above the pills) */
.single-product .variations_form table.variations,
.single-product .variations_form table.variations tbody,
.single-product .variations_form table.variations tr,
.single-product .variations_form table.variations th,
.single-product .variations_form table.variations td{display:block;width:100%;padding:0;border:0;background:none}
.single-product .variations_form table.variations tr{margin-bottom:10px}
.single-product .variations_form table.variations th.label{margin-bottom:8px;text-align:left}
.single-product .variations_form table.variations th.label label{font-family:var(--fd);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink);font-size:14px;margin:0;text-align:left;display:block}
.single-product .variations_form .reset_variations{display:inline-block;margin-top:6px;font-size:13px;color:var(--slate)}
.single-product .variations_form .reset_variations:hover{color:var(--orange-deep)}

/* the selected-variation price shows once at the top already; keep the inline one tidy */
.single-product .single_variation .price{font-family:var(--fd);font-weight:900;font-size:28px;color:var(--ink);margin:0 0 8px}

/* v1.2.2 — zoom trigger anchored inside the main-image card */
.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger{
	top:16px;right:16px;z-index:5}
