/* ==========================================================================
   Avalon — WooCommerce
   Gebruikt uitsluitend de CSS-variabelen van het thema (kleuren, hoeken,
   lettertypen), zodat de winkel automatisch meebeweegt met de Theme Builder.
   Laadt ná de WooCommerce-stylesheets; zie inc/woocommerce.php.
   ========================================================================== */

/* ---------- Account en winkelwagen in de header ---------- */
.av-header__actions{display:flex;align-items:center;gap:2px;flex:none;}
.av-cart,
.av-account{
	position:relative;display:inline-flex;align-items:center;justify-content:center;
	width:40px;height:40px;flex:none;color:var(--av-color-nav,#3a4453);
	border-radius:var(--av-radius);clip-path:var(--av-clip);transition:color .15s,background .15s;
}
.av-cart svg,
.av-account svg{width:21px;height:21px;display:block;}
.av-cart:hover,
.av-account:hover{color:var(--av-primary);background:var(--av-soft,#f7f8fa);}
.av-cart__count{
	position:absolute;top:2px;right:0;min-width:18px;height:18px;padding:0 5px;
	display:inline-flex;align-items:center;justify-content:center;
	font:700 11px/1 var(--av-font-body);
	background:var(--av-primary);color:var(--av-secondary);border-radius:9px;
}
.av-cart__count.is-empty{display:none;}
/* Over de hero staat het menu op wit; de iconen volgen mee. */
body.av-menu-hero .av-cart,
body.av-menu-hero .av-account{color:rgba(255,255,255,.92);}
body.av-menu-hero .av-cart:hover,
body.av-menu-hero .av-account:hover{background:rgba(255,255,255,.12);color:#fff;}
body.av-menu-hero.av-scrolled .av-cart,
body.av-menu-hero.av-scrolled .av-account{color:var(--av-sticky-menu-color,var(--av-color-nav,#3a4453));}
body.av-menu-hero.av-scrolled .av-cart:hover,
body.av-menu-hero.av-scrolled .av-account:hover{background:var(--av-soft,#f7f8fa);}

/* ---------- Paginaschil ---------- */
.av-wc{padding:56px 0 84px;}
body.av-wc-single .av-wc{padding-top:40px;}
.av-wc-notices{padding-top:24px;}

/* Menu transparant over de hero: winkelweergaven zonder hero (productpagina,
   winkelwagen, afrekenen, Mijn account) hebben niets om overheen te liggen. De
   absolute header zou daar over de inhoud vallen, met een wit menu op een witte
   achtergrond. Op die pagina's zetten we de header terug in de normale flow met
   de gewone kleuren — inclusief het sticky-gedrag dat het thema elders gebruikt. */
body.av-menu-hero.av-wc-nohero .av-site-header{position:static;}

/* In deze modus staat --av-header-bg op volledig transparant, dus daar kunnen
   we niet op terugvallen. Gebruik de combinatie die het thema al kent voor een
   doorgescrolde over-hero balk: de ingestelde vaste achtergrond met de
   bijbehorende tekstkleur. Zo volgt de winkel de Theme Builder-instellingen. */
body.av-menu-hero.av-wc-nohero .av-header{
	background:var(--av-header-bg-solid,#fff);
	border-bottom:1px solid rgba(0,0,0,.06);
}
body.av-menu-hero.av-wc-nohero.av-has-topbar .av-topbar{
	background:var(--av-topbar-bg,var(--av-secondary));
	color:var(--av-sticky-topbar-color,#fff);
}
body.av-menu-hero.av-wc-nohero .av-brand__name,
body.av-menu-hero.av-wc-nohero .av-nav .av-menu,
body.av-menu-hero.av-wc-nohero .av-cart,
body.av-menu-hero.av-wc-nohero .av-account{color:var(--av-sticky-menu-color,#fff);}
body.av-menu-hero.av-wc-nohero .av-nav .av-menu a:hover{color:var(--av-sticky-menu-hover,var(--av-primary));}
body.av-menu-hero.av-wc-nohero .av-cart:hover,
body.av-menu-hero.av-wc-nohero .av-account:hover{
	color:var(--av-sticky-menu-hover,var(--av-primary));background:rgba(255,255,255,.12);
}
body.av-menu-hero.av-wc-nohero .av-hamburger span{background:var(--av-sticky-menu-color,#fff);}

/* Sticky via het reguliere mechanisme: de wrapper valt weg zodat topbalk en
   menu als losse elementen tegen de pagina kunnen plakken. */
body.av-menu-hero.av-wc-nohero.av-topbar-sticky .av-site-header,
body.av-menu-hero.av-wc-nohero.av-menu-sticky .av-site-header{position:static;display:contents;}
body.av-menu-hero.av-wc-nohero.av-topbar-sticky .av-topbar{position:sticky;top:0;z-index:50;}
body.av-menu-hero.av-wc-nohero.av-menu-sticky .av-header{position:sticky;top:0;z-index:49;}
body.av-menu-hero.av-wc-nohero.av-topbar-sticky.av-menu-sticky .av-header{top:var(--av-topbar-h,38px);}

/* De blok-winkelwagen/afrekenpagina en Mijn account staan in page.php binnen
   .av-content (720px voor gewone tekst). Geef ze de volle leesbreedte. */
body.av-wc-wide .av-content > *{max-width:1180px;}
.av-content > .wp-block-woocommerce-cart,
.av-content > .wp-block-woocommerce-checkout{max-width:1180px;}

/* ---------- Sorteerbalk boven het overzicht ---------- */
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering{margin:0;}
.woocommerce .woocommerce-result-count{
	font:600 13px/1 var(--av-font-body);color:var(--av-sub,#5b6573);
}
.woocommerce .woocommerce-ordering select,
.woocommerce select.orderby{
	font:600 13px/1 var(--av-font-body);color:var(--av-color-heading,var(--av-secondary));
	background:#fff;border:1px solid var(--av-line,#e7e9ee);
	border-radius:var(--av-radius);clip-path:var(--av-clip);
	padding:11px 36px 11px 14px;cursor:pointer;appearance:none;
	background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235b6573' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat:no-repeat;background-position:right 12px center;background-size:15px;
}
.woocommerce .woocommerce-ordering select:focus,
.woocommerce select.orderby:focus{outline:2px solid var(--av-primary);outline-offset:1px;}

/* Result count links, sorteren rechts, met ruimte onder. */
.woocommerce .woocommerce-notices-wrapper + .woocommerce-result-count,
.woocommerce .products{clear:none;}
.av-wc .woocommerce-result-count{float:left;line-height:42px;}
.av-wc .woocommerce-ordering{float:right;margin-bottom:28px;}
.av-wc .products{clear:both;}

/* ---------- Productoverzicht ---------- */
.woocommerce ul.products{
	display:grid;grid-template-columns:repeat(3,1fr);gap:28px;
	list-style:none;margin:0;padding:0;
}
.woocommerce ul.products.columns-2{grid-template-columns:repeat(2,1fr);}
.woocommerce ul.products.columns-4{grid-template-columns:repeat(4,1fr);}
/* WooCommerce zet clearfix-pseudo-elementen op zijn containers. Zodra zo'n
   container een grid wordt, tellen die als volwaardige grid-items: de ::before
   pakt de eerste cel en alles schuift een plek op — vandaar dat kolommen
   omgedraaid of trapsgewijs uitkwamen. Uitzetten op elke container die wij tot
   grid maken. */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce div.product::before,
.woocommerce div.product::after,
.woocommerce .col2-set::before,
.woocommerce .col2-set::after,
.woocommerce-account .woocommerce::before,
.woocommerce-account .woocommerce::after,
.woocommerce-account .woocommerce-Addresses::before,
.woocommerce-account .woocommerce-Addresses::after{content:none;}

.woocommerce ul.products li.product{
	position:relative;padding:0;
	display:flex;flex-direction:column;
	background:#fff;border:1px solid #eceef1;
	border-radius:var(--av-radius);clip-path:var(--av-clip);overflow:hidden;
	transition:box-shadow .2s,transform .2s;
}

/* WooCommerce zet de kolombreedte via .woocommerce.columns-3 ul.products
   li.product — vier klassen, dus specifieker dan de regel hierboven. Het grid
   regelt de kolommen al, dus die vaste percentages en floats moeten eruit. De
   verdubbelde .woocommerce maakt de specificiteit gelijk; omdat deze
   stylesheet later laadt, wint hij. */
.woocommerce.woocommerce ul.products li.product{
	width:auto;margin:0;float:none;clear:none;
}
.woocommerce ul.products li.product:hover{
	box-shadow:0 8px 32px rgba(15,31,61,.12);transform:translateY(-3px);
}
.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link{
	display:flex;flex-direction:column;flex:1;color:inherit;
}

.av-product-card__media{
	position:relative;aspect-ratio:4/3;overflow:hidden;
	background-image:repeating-linear-gradient(135deg,#eef0f3 0 12px,#e4e7ec 12px 24px);
}
.woocommerce ul.products li.product .av-product-card__media img{
	width:100%;height:100%;object-fit:cover;margin:0;border-radius:0;
	transition:transform .35s ease;
}
.woocommerce ul.products li.product:hover .av-product-card__media img{transform:scale(1.04);}

.av-product-card__body{
	display:flex;flex-direction:column;gap:7px;flex:1;padding:18px 22px 4px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
	font:700 clamp(15px,1.25vw,18px)/1.3 var(--av-font-head);
	color:var(--av-color-heading,var(--av-secondary));
	padding:0;margin:0;transition:color .15s;
}
.woocommerce ul.products li.product:hover .woocommerce-loop-product__title{color:var(--av-primary);}
.woocommerce ul.products li.product .av-card__cat{align-self:flex-start;}

/* Prijs */
.woocommerce ul.products li.product .price{
	font:700 16px/1.3 var(--av-font-body);color:var(--av-secondary);
	margin:2px 0 0;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;
}
.woocommerce ul.products li.product .price del{
	font-weight:500;font-size:14px;color:var(--av-sub,#5b6573);opacity:1;
}
.woocommerce ul.products li.product .price ins{
	text-decoration:none;background:none;color:var(--av-primary);font-weight:700;
}
.woocommerce ul.products li.product .price .from{
	font:500 12px/1 var(--av-font-body);color:var(--av-sub,#5b6573);
}

/* "In winkelwagen"-knop: staat buiten de productlink en vormt de kaartvoet. */
.woocommerce ul.products li.product > .button{
	margin:14px 22px 22px;align-self:flex-start;
}
.woocommerce ul.products li.product .added_to_cart{
	margin:0 22px 18px;font:700 13px/1 var(--av-font-body);color:var(--av-primary);
	display:inline-flex;align-items:center;gap:6px;
}

/* ---------- Labels ---------- */
.av-badge,
.woocommerce span.onsale{
	position:absolute;top:12px;left:12px;z-index:3;
	min-height:0;min-width:0;line-height:1;padding:6px 11px;margin:0;
	font:700 11px/1 var(--av-font-mono);letter-spacing:.06em;text-transform:uppercase;
	border-radius:6px;
}
.woocommerce span.onsale,
.av-badge--sale{background:var(--av-primary);color:var(--av-secondary);}
.av-badge--oos{background:var(--av-secondary);color:#fff;left:auto;right:12px;}
/* Twee labels tegelijk: het aanbiedingslabel schuift onder het voorraadlabel. */
.woocommerce ul.products li.product .av-badge--oos ~ .onsale{top:12px;}

/* ---------- Paginering ---------- */
.woocommerce nav.woocommerce-pagination{margin:48px 0 0;text-align:center;}
.woocommerce nav.woocommerce-pagination ul{
	display:inline-flex;gap:8px;border:none;margin:0;padding:0;
}
.woocommerce nav.woocommerce-pagination ul li{
	border:none;margin:0;overflow:visible;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
	display:inline-flex;align-items:center;justify-content:center;
	min-width:42px;height:42px;padding:0 12px;
	font:700 14px/1 var(--av-font-body);color:var(--av-color-heading,var(--av-secondary));
	background:#fff;border:1px solid var(--av-line,#e7e9ee);
	border-radius:var(--av-radius);clip-path:var(--av-clip);
	transition:background .15s,color .15s,border-color .15s;
}
.woocommerce nav.woocommerce-pagination ul li a:hover{
	background:var(--av-soft,#f7f8fa);border-color:var(--av-primary);color:var(--av-primary);
}
.woocommerce nav.woocommerce-pagination ul li span.current{
	background:var(--av-primary);border-color:var(--av-primary);color:var(--av-secondary);
}

/* ---------- Knoppen ---------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.wc-block-components-button{
	display:inline-flex;align-items:center;justify-content:center;gap:8px;
	font:700 15px/1 var(--av-font-body);padding:14px 24px;cursor:pointer;border:none;
	background:var(--av-btn-primary-bg,var(--av-primary));color:var(--av-btn-primary-color,var(--av-secondary));
	border-radius:var(--av-radius);clip-path:var(--av-clip);
	transition:transform .12s ease,filter .12s ease;text-decoration:none;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.wc-block-components-button:hover:not(:disabled){
	background:var(--av-btn-primary-bg,var(--av-primary));color:var(--av-btn-primary-color,var(--av-secondary));
	filter:brightness(.96);transform:translateY(-1px);
}
.woocommerce a.button.av-btn--small,
.woocommerce ul.products li.product > .button{padding:11px 18px;font-size:13px;}

/* Secundaire knoppen (bv. "Winkelwagen bijwerken", "Verder winkelen"). */
.woocommerce .cart .button[name="update_cart"],
.woocommerce a.button.wc-backward,
.wc-block-components-button.outlined{
	background:transparent;color:var(--av-color-heading,var(--av-secondary));
	border:1px solid var(--av-line,#e7e9ee);
}
.woocommerce .cart .button[name="update_cart"]:hover,
.woocommerce a.button.wc-backward:hover{
	background:var(--av-soft,#f7f8fa);color:var(--av-color-heading,var(--av-secondary));
	border-color:var(--av-primary);
}
.woocommerce a.button.disabled,
.woocommerce button.button:disabled,
.woocommerce input.button:disabled{opacity:.45;transform:none;cursor:not-allowed;}

/* ---------- Formuliervelden ---------- */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce table.cart td.actions .coupon .input-text,
.wc-block-components-text-input input[type="text"],
.wc-block-components-text-input input[type="email"],
.wc-block-components-text-input input[type="tel"],
.wc-block-components-text-input input[type="number"],
.wc-block-components-textarea,
.wc-blocks-components-select .wc-blocks-components-select__select{
	width:100%;box-sizing:border-box;
	font:500 15px/1.4 var(--av-font-body);color:var(--av-color-body,#3a4453);
	background:#fff;border:1px solid var(--av-line,#e7e9ee);
	border-radius:var(--av-radius);clip-path:var(--av-clip);
	padding:11px 14px;transition:border-color .15s,box-shadow .15s;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.wc-block-components-text-input input:focus,
.wc-blocks-components-select .wc-blocks-components-select__select:focus{
	border-color:var(--av-primary);
	box-shadow:0 0 0 3px color-mix(in srgb,var(--av-primary) 18%,transparent);
	outline:none;
}
.woocommerce form .form-row label,
.wc-block-components-text-input label{
	font:600 13px/1.3 var(--av-font-body);color:var(--av-color-body,#3a4453);
	margin-bottom:6px;
}
.woocommerce form .form-row{margin-bottom:18px;}
.woocommerce .required{color:var(--av-primary);border:none;}

/* ---------- Meldingen ---------- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments{
	display:flex;align-items:center;flex-wrap:wrap;gap:12px;
	font:500 14.5px/1.5 var(--av-font-body);color:var(--av-color-body,#3a4453);
	background:var(--av-soft,#f7f8fa);
	border:1px solid var(--av-line,#e7e9ee);border-top:none;
	border-left:4px solid var(--av-primary);
	border-radius:var(--av-radius);clip-path:var(--av-clip);
	padding:16px 20px;margin:0 0 26px;list-style:none;
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before{content:none;}
.woocommerce-error{border-left-color:#d63638;}
.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button{margin-left:auto;padding:10px 16px;font-size:13px;}

/* ---------- Productpagina ---------- */
.woocommerce div.product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start;}
.woocommerce div.product > .woocommerce-tabs,
.woocommerce div.product > .related,
.woocommerce div.product > .upsells,
.woocommerce div.product > .woocommerce-product-gallery + .summary ~ *{grid-column:1/-1;}

.woocommerce div.product div.images{width:auto;float:none;margin:0;}
.woocommerce div.product div.images img{
	border-radius:var(--av-radius);clip-path:var(--av-clip);
}
.woocommerce div.product div.images .flex-control-thumbs{
	display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:12px 0 0;
}
.woocommerce div.product div.images .flex-control-thumbs li{width:auto;float:none;margin:0;}
.woocommerce div.product div.images .flex-control-thumbs img{
	border:1px solid var(--av-line,#e7e9ee);opacity:.65;transition:opacity .15s,border-color .15s;
}
.woocommerce div.product div.images .flex-control-thumbs img:hover,
.woocommerce div.product div.images .flex-control-thumbs img.flex-active{
	opacity:1;border-color:var(--av-primary);
}
.woocommerce div.product span.onsale{top:16px;left:16px;}

.woocommerce div.product .summary{width:auto;float:none;margin:0;}
.woocommerce div.product .product_title{
	font:800 clamp(26px,2.6vw,40px)/1.15 var(--av-font-head);
	color:var(--av-color-heading,var(--av-secondary));letter-spacing:-.02em;margin:0 0 14px;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price{
	font:800 26px/1.2 var(--av-font-body);color:var(--av-secondary);
	display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:0 0 18px;
}
.woocommerce div.product p.price del{font-weight:500;font-size:19px;color:var(--av-sub,#5b6573);opacity:1;}
.woocommerce div.product p.price ins{text-decoration:none;background:none;color:var(--av-primary);}

.woocommerce div.product .woocommerce-product-details__short-description{
	font:500 16px/1.65 var(--av-font-body);color:var(--av-color-body,#3a4453);
	margin:0 0 24px;padding:0 0 24px;border-bottom:1px solid var(--av-line,#e7e9ee);
}

/* Aantal + in winkelwagen */
.woocommerce div.product form.cart{margin:0 0 24px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.woocommerce div.product form.cart.variations_form{display:block;}
.woocommerce .quantity .qty{
	width:84px;height:50px;text-align:center;
	font:600 15px/1 var(--av-font-body);color:var(--av-color-heading,var(--av-secondary));
	background:#fff;border:1px solid var(--av-line,#e7e9ee);
	border-radius:var(--av-radius);clip-path:var(--av-clip);
}
.woocommerce div.product form.cart .button{height:50px;}

/* Variaties */
.woocommerce div.product form.cart table.variations{margin:0 0 18px;border:none;}
.woocommerce div.product form.cart table.variations td,
.woocommerce div.product form.cart table.variations th{border:none;padding:0 0 14px;vertical-align:middle;}
.woocommerce div.product form.cart table.variations th.label{
	font:700 13px/1.3 var(--av-font-body);color:var(--av-color-heading,var(--av-secondary));
	padding-right:16px;text-align:left;
}
.woocommerce div.product form.cart table.variations select{
	min-width:220px;
	font:500 15px/1.4 var(--av-font-body);color:var(--av-color-body,#3a4453);
	background:#fff;border:1px solid var(--av-line,#e7e9ee);
	border-radius:var(--av-radius);clip-path:var(--av-clip);padding:12px 15px;
}
.woocommerce div.product form.cart .reset_variations{
	font:600 13px/1 var(--av-font-body);color:var(--av-primary);
}
.woocommerce div.product .woocommerce-variation-price{margin:0 0 16px;}
.woocommerce div.product .single_variation_wrap .woocommerce-variation-add-to-cart{
	display:flex;align-items:center;gap:12px;flex-wrap:wrap;
}

/* Meta (SKU, categorie) */
.woocommerce div.product .product_meta{
	font:500 13.5px/1.7 var(--av-font-body);color:var(--av-sub,#5b6573);
	padding-top:20px;border-top:1px solid var(--av-line,#e7e9ee);
}
.woocommerce div.product .product_meta > span{display:block;}
.woocommerce div.product .product_meta a{color:var(--av-color-heading,var(--av-secondary));}
.woocommerce div.product .product_meta a:hover{color:var(--av-primary);}
.woocommerce div.product .stock{font:600 14px/1.4 var(--av-font-body);margin:0 0 16px;}
.woocommerce div.product .stock.in-stock{color:var(--av-primary);}
.woocommerce div.product .stock.out-of-stock{color:#d63638;}

/* Sterbeoordeling */
.woocommerce .star-rating{
	font-size:14px;letter-spacing:2px;color:var(--av-primary);
	height:1.2em;line-height:1.2;overflow:hidden;position:relative;width:6.5em;
}
.woocommerce ul.products li.product .star-rating{margin:0 0 2px;}
.woocommerce div.product .woocommerce-product-rating{
	display:flex;align-items:center;gap:12px;margin:0 0 16px;
}
.woocommerce div.product .woocommerce-product-rating .woocommerce-review-link{
	font:500 13.5px/1 var(--av-font-body);color:var(--av-sub,#5b6573);
}

/* ---------- Tabbladen ---------- */
.woocommerce div.product .woocommerce-tabs{margin-top:72px;}
.woocommerce div.product .woocommerce-tabs ul.tabs{
	display:flex;gap:4px;flex-wrap:wrap;padding:0;margin:0 0 28px;
	border-bottom:1px solid var(--av-line,#e7e9ee);
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{content:none;}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
	background:none;border:none;border-radius:0;margin:0;padding:0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{content:none;}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
	display:block;padding:14px 20px;margin-bottom:-1px;
	font:700 14px/1 var(--av-font-body);color:var(--av-sub,#5b6573);
	border-bottom:2px solid transparent;transition:color .15s,border-color .15s;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover{color:var(--av-color-heading,var(--av-secondary));}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{
	color:var(--av-primary);border-bottom-color:var(--av-primary);
}
.woocommerce div.product .woocommerce-tabs .panel{
	font:500 16px/1.7 var(--av-font-body);color:var(--av-color-body,#3a4453);
	max-width:760px;margin:0;padding:0;
}
.woocommerce div.product .woocommerce-tabs .panel h2{
	font:700 22px/1.2 var(--av-font-head);color:var(--av-color-heading,var(--av-secondary));
	margin:0 0 16px;
}
.woocommerce table.shop_attributes{border:none;margin:0;}
.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td{
	border:none;border-bottom:1px solid var(--av-line,#e7e9ee);padding:13px 0;
	font:500 15px/1.5 var(--av-font-body);
}
.woocommerce table.shop_attributes th{
	font-weight:700;color:var(--av-color-heading,var(--av-secondary));width:200px;text-align:left;
}
.woocommerce table.shop_attributes td{color:var(--av-color-body,#3a4453);font-style:normal;}
.woocommerce table.shop_attributes td p{margin:0;}

/* ---------- Beoordelingen ---------- */
.woocommerce #reviews #comments ol.commentlist{padding:0;margin:0 0 32px;}
.woocommerce #reviews #comments ol.commentlist li{margin:0 0 18px;padding:0;}
.woocommerce #reviews #comments ol.commentlist li .comment_container{
	display:flex;gap:16px;align-items:flex-start;
	background:#fff;border:1px solid var(--av-line,#e7e9ee);
	border-radius:var(--av-radius);clip-path:var(--av-clip);padding:20px 22px;
}
.woocommerce #reviews #comments ol.commentlist li img.avatar{
	position:static;width:44px;height:44px;border-radius:50%;border:none;padding:0;margin:0;float:none;
}
.woocommerce #reviews #comments ol.commentlist li .comment-text{
	border:none;border-radius:0;margin:0;padding:0;width:auto;
}
.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta{
	font:500 13px/1.5 var(--av-font-body);color:var(--av-sub,#5b6573);margin:0 0 8px;
}
.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta strong{
	font-weight:700;color:var(--av-color-heading,var(--av-secondary));
}
.woocommerce #reviews #comments ol.commentlist li .comment-text .description{
	font:500 15px/1.65 var(--av-font-body);color:var(--av-color-body,#3a4453);
}
.woocommerce #review_form #respond{max-width:640px;}
.woocommerce #reviews #respond .comment-reply-title{
	display:block;font:700 18px/1.3 var(--av-font-head);
	color:var(--av-color-heading,var(--av-secondary));margin:0 0 16px;
}
.woocommerce #review_form #respond textarea{min-height:130px;resize:vertical;}
.woocommerce p.stars a{color:var(--av-primary);}

/* ---------- Gerelateerde producten ---------- */
.woocommerce .related,
.woocommerce .upsells{margin-top:72px;}
.woocommerce .related > h2,
.woocommerce .upsells > h2,
.woocommerce .cross-sells > h2{
	font:800 clamp(22px,2.2vw,32px)/1.2 var(--av-font-head);
	color:var(--av-color-heading,var(--av-secondary));margin:0 0 28px;
}

/* ---------- Winkelwagen (shortcode-variant) ---------- */
.woocommerce table.shop_table{
	border:1px solid var(--av-line,#e7e9ee);border-radius:var(--av-radius);
	border-collapse:separate;border-spacing:0;overflow:hidden;margin:0 0 28px;
}
.woocommerce table.shop_table th{
	font:700 13px/1 var(--av-font-body);text-transform:uppercase;letter-spacing:.06em;
	color:var(--av-color-heading,var(--av-secondary));
	background:var(--av-soft,#f7f8fa);padding:16px 18px;border:none;text-align:left;
}
.woocommerce table.shop_table td{
	padding:18px;border:none;border-top:1px solid var(--av-line,#e7e9ee);
	font:500 15px/1.5 var(--av-font-body);color:var(--av-color-body,#3a4453);
	vertical-align:middle;
}
.woocommerce table.shop_table td.product-thumbnail img{
	width:72px;height:72px;object-fit:cover;
	border-radius:var(--av-radius);clip-path:var(--av-clip);
}
.woocommerce table.shop_table td.product-name a{
	font-weight:700;color:var(--av-color-heading,var(--av-secondary));
}
.woocommerce table.shop_table td.product-name a:hover{color:var(--av-primary);}
.woocommerce a.remove{
	width:26px;height:26px;line-height:24px;font-size:18px;font-weight:400;
	color:var(--av-sub,#5b6573);border:1px solid var(--av-line,#e7e9ee);border-radius:50%;
}
.woocommerce a.remove:hover{background:#d63638;border-color:#d63638;color:#fff;}
.woocommerce table.cart td.actions{background:var(--av-soft,#f7f8fa);}
.woocommerce table.cart td.actions .coupon{display:flex;gap:10px;align-items:center;float:none;}
.woocommerce table.cart td.actions .coupon .input-text{width:220px;}

.woocommerce .cart-collaterals .cart_totals{width:100%;float:none;}
.woocommerce .cart-collaterals .cart_totals h2{
	font:800 22px/1.2 var(--av-font-head);color:var(--av-color-heading,var(--av-secondary));margin:0 0 16px;
}
.woocommerce .cart_totals table.shop_table td,
.woocommerce .cart_totals table.shop_table th{padding:14px 18px;}
.woocommerce .cart_totals .order-total .amount{
	font:800 20px/1 var(--av-font-body);color:var(--av-color-heading,var(--av-secondary));
}
.woocommerce .wc-proceed-to-checkout{padding:20px 0 0;}
.woocommerce .wc-proceed-to-checkout a.checkout-button{width:100%;font-size:16px;padding:16px 24px;}

/* ---------- Afrekenen (shortcode-variant) ---------- */
.woocommerce-checkout h3{
	font:800 20px/1.2 var(--av-font-head);color:var(--av-color-heading,var(--av-secondary));margin:0 0 18px;
}
.woocommerce #payment{
	background:var(--av-soft,#f7f8fa);border:1px solid var(--av-line,#e7e9ee);
	border-radius:var(--av-radius);clip-path:var(--av-clip);padding:22px;
}
.woocommerce #payment ul.payment_methods{border:none;padding:0;margin:0 0 18px;}
.woocommerce #payment div.payment_box{
	background:#fff;border:1px solid var(--av-line,#e7e9ee);border-radius:var(--av-radius);
	font:500 14px/1.6 var(--av-font-body);color:var(--av-color-body,#3a4453);
}
.woocommerce #payment div.payment_box::before{content:none;}
.woocommerce #payment #place_order{width:100%;font-size:16px;padding:16px 24px;}

/* ---------- Blok-winkelwagen en blok-afrekenen ---------- */
.wc-block-components-title,
.wp-block-woocommerce-cart .wc-block-cart__totals-title,
.wc-block-components-checkout-step__title{
	font-family:var(--av-font-head)!important;
	color:var(--av-color-heading,var(--av-secondary))!important;
	letter-spacing:-.01em;
}
.wc-block-components-sidebar-layout .wc-block-components-sidebar{
	background:var(--av-soft,#f7f8fa);
	border:1px solid var(--av-line,#e7e9ee);
	border-radius:var(--av-radius);clip-path:var(--av-clip);
	padding:26px;
}
.wc-block-components-product-name{
	font:700 15px/1.35 var(--av-font-head)!important;
	color:var(--av-color-heading,var(--av-secondary))!important;
}
.wc-block-components-product-name:hover{color:var(--av-primary)!important;}
.wc-block-cart-item__image img,
.wc-block-components-order-summary-item__image img{
	border-radius:var(--av-radius);clip-path:var(--av-clip);
}
.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value{
	font-family:var(--av-font-body);color:var(--av-color-body,#3a4453);
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
	font-weight:800;color:var(--av-color-heading,var(--av-secondary));
}
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button{
	width:100%;font:700 16px/1 var(--av-font-body)!important;
	background:var(--av-btn-primary-bg,var(--av-primary))!important;
	color:var(--av-btn-primary-color,var(--av-secondary))!important;
	border-radius:var(--av-radius)!important;clip-path:var(--av-clip);
	padding:17px 24px!important;
}
.wc-block-components-quantity-selector{
	border-radius:var(--av-radius);border-color:var(--av-line,#e7e9ee);
}
.wc-block-components-panel__button{
	font-family:var(--av-font-body);color:var(--av-color-heading,var(--av-secondary));
}
.wc-block-checkout__terms,
.wc-block-components-checkout-step__description{
	font-family:var(--av-font-body);color:var(--av-sub,#5b6573);
}

/* ---------- Mijn account ---------- */
.woocommerce-account .woocommerce{
	display:grid;grid-template-columns:220px minmax(0,1fr);gap:40px;align-items:start;
}
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper{grid-column:1/-1;}
/* Inlogscherm en wachtwoord-vergeten hebben geen navigatie: één kolom. */
.woocommerce-account.woocommerce-lost-password .woocommerce,
.woocommerce-account:not(.logged-in) .woocommerce{display:block;max-width:520px;margin:0 auto;}

.woocommerce-account .woocommerce-MyAccount-navigation{width:auto;float:none;}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a{
	display:block;padding:9px 14px;
	font:600 14px/1.3 var(--av-font-body);color:var(--av-color-body,#3a4453);
	border-radius:var(--av-radius);clip-path:var(--av-clip);transition:background .15s,color .15s;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover{
	background:var(--av-soft,#f7f8fa);color:var(--av-color-heading,var(--av-secondary));
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a{
	background:var(--av-primary);color:var(--av-secondary);
}
.woocommerce-account .woocommerce-MyAccount-content p,
.woocommerce-account .woocommerce-MyAccount-content li{
	font:500 15px/1.7 var(--av-font-body);color:var(--av-color-body,#3a4453);
}
.woocommerce-account .woocommerce-MyAccount-content > p:first-child{margin-top:0;}
.woocommerce-account .woocommerce-MyAccount-content a:not(.button){
	color:var(--av-primary);font-weight:600;
}
.woocommerce form.login,
.woocommerce form.register,
.woocommerce form.lost_reset_password{
	border:1px solid var(--av-line,#e7e9ee);border-radius:var(--av-radius);clip-path:var(--av-clip);
	padding:28px;margin:0;
}
.woocommerce form.login .button,
.woocommerce form.register .button{width:100%;justify-content:center;}
.woocommerce-form__label-for-checkbox{display:flex;align-items:center;gap:8px;}
.woocommerce fieldset{
	border:1px solid var(--av-line,#e7e9ee);border-radius:var(--av-radius);
	padding:20px 22px;margin:24px 0 0;
}
.woocommerce fieldset legend{
	font:700 14px/1 var(--av-font-head);color:var(--av-secondary);padding:0 8px;
}

/* Koppen binnen Mijn account: het thema zet wel een lettertype maar geen
   grootte, dus zonder deze regels valt de browserstandaard in — die schaalt mee
   met de vloeiende root-fontgrootte en wordt daardoor onevenredig groot. */
.woocommerce-account .woocommerce-MyAccount-content h2{
	font:800 21px/1.25 var(--av-font-head);color:var(--av-secondary);margin:0 0 14px;
}
.woocommerce-account .woocommerce-MyAccount-content h3{
	font:700 17px/1.3 var(--av-font-head);color:var(--av-secondary);margin:22px 0 10px;
}

/* Adressen: WooCommerce laat de twee kolommen zweven; het grid neemt dat over. */
.woocommerce .col2-set .col-1,
.woocommerce .col2-set .col-2{float:none;width:auto;}
.woocommerce-account .woocommerce-Addresses{
	display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:20px;
}
.woocommerce-account .woocommerce-Address{
	background:#fff;border:1px solid var(--av-line,#e7e9ee);
	border-radius:var(--av-radius);clip-path:var(--av-clip);padding:20px 22px;
}
/* Bij een lange kop plus een lange bewerklink past het niet naast elkaar; laat
   de link dan naar de volgende regel zakken in plaats van buiten de kaart. */
.woocommerce-account .woocommerce-Address-title{
	display:flex;align-items:baseline;justify-content:space-between;
	gap:4px 12px;flex-wrap:wrap;margin:0 0 10px;
}
.woocommerce-account .woocommerce-Address-title h2,
.woocommerce-account .woocommerce-Address-title h3{
	font:700 16px/1.3 var(--av-font-head);color:var(--av-secondary);margin:0;
}
.woocommerce-account .woocommerce-Address-title .edit{
	font:600 13px/1 var(--av-font-body);color:var(--av-primary);flex:none;
}
.woocommerce-account .woocommerce-Address address{
	font:500 14.5px/1.7 var(--av-font-body);color:var(--av-color-body,#3a4453);font-style:normal;
}

/* ---------- Responsief ---------- */
@media (max-width:1024px){
	.woocommerce ul.products,
	.woocommerce ul.products.columns-4{grid-template-columns:repeat(2,1fr);}
	.woocommerce div.product{grid-template-columns:1fr;gap:36px;}
	.woocommerce-account .woocommerce{grid-template-columns:1fr;gap:28px;}
	.woocommerce-account .woocommerce-Addresses{grid-template-columns:1fr;}
	.woocommerce-account .woocommerce-MyAccount-navigation ul{flex-direction:row;flex-wrap:wrap;}
}

@media (max-width:900px){
	.av-wc{padding:36px 0 60px;}
	.av-wc .woocommerce-result-count,
	.av-wc .woocommerce-ordering{float:none;line-height:1.4;}
	.av-wc .woocommerce-result-count{margin-bottom:14px;}
	.av-wc .woocommerce-ordering select{width:100%;}
	.woocommerce table.shop_table td.product-thumbnail img{width:56px;height:56px;}
	.woocommerce table.cart td.actions .coupon{flex-wrap:wrap;}
	.woocommerce table.cart td.actions .coupon .input-text{width:100%;}
}

@media (max-width:600px){
	.woocommerce ul.products,
	.woocommerce ul.products.columns-2,
	.woocommerce ul.products.columns-4{grid-template-columns:1fr;}
	.woocommerce div.product .woocommerce-tabs ul.tabs{gap:0;}
	.woocommerce div.product .woocommerce-tabs ul.tabs li a{padding:12px 14px;font-size:13px;}
	.woocommerce #reviews #comments ol.commentlist li .comment_container{flex-direction:column;gap:12px;}
}
