/* Archief producten */
.shop_wrapper {
	display: flex;
	padding-bottom: 100px;
}

.shop_wrapper .shop_filters {
	flex-basis: calc(25% - 20px);
	align-self: start;
}

.shop_wrapper .shop_filters h4 {
	font-size: var(--font-s);
	line-height: 24px;
	margin-bottom: 24px;
	margin-top: 24px;
}

.shop_wrapper .shop_overzicht {
	flex-basis: 75%;
	margin-left: auto;
	align-self: start;
}

.shop_wrapper .shop_overzicht .woocommerce-result-count {
	display: inline-block;
	width: 50%;
	box-sizing: border-box;
}

.shop_wrapper .shop_overzicht .woocommerce-ordering {
	display: inline-block;
	width: 49%;
	text-align: right;
}

.products:not(.related) {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -12px;
}

.shop-filters + .products-section > .products:not(.related) {
	margin: 0;
}

.products > .product {
	margin: 12px;
	flex-basis: calc(33% - 24px);
	position: relative;
	z-index: 0;
}

.products.columns-4 .product {
	flex-basis: calc(25% - 24px);
}

.products.columns-4 .product h2 {
	font-size: var(--font-s);
    line-height: 22px;
    margin-bottom: 6px;
}

.single-product h3 {
	margin-bottom: 16px;
}

body.single-product #breadcrumbs {
	padding-bottom: 32px;
}

.products > .product img {
	display: block;
}

.products > .product h2 {
	margin-top: auto;
	font-size: var(--font-m);
	line-height: 28px;
	margin-bottom: 10px;
	font-weight: 700;
	padding: 0 24px;
	display: block;
}

.products > .product span.price {
	margin-bottom: 16px;
	font-weight: 500;
	padding: 0;
	display: block;
}

.products > li.product .price .amount bdi, .wc-block-grid__products > li.product .price .amount bdi {
	color: var(--zwart);
}

.products > li.product .price .amount s + bdi, .wc-block-grid__products > li.product .price .amount s + bdi {
	color: var(--blauw);
}

.products > .product figure img { 
	object-fit: contain;
}

.woocommerce-ordering {
	display: flex;
	justify-content: flex-end;
	width: 100%;
}
.woocommerce-ordering select {
	margin-right: 12px;
}

.product.leestenvoorspeller-product .leestvoorspeller-figure {
	position: relative;
}

.product.leestenvoorspeller-product .product-eigenschap {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-around;
    flex-wrap: wrap;
    gap: 12px 32px;
    line-height: 1;
    position: absolute;
    background: #FFE3BF;
    left: 16px;
    right: 16px;
    bottom: 16px;
    border-radius: 14px;
    color: #000000;
    padding: 12px 16px;
    margin: 0;
    font-weight: 500;
    min-height: 20px;
}

.product.leestenvoorspeller-product .product-eigenschap strong {
	position: relative;
	padding-left: 24px;
}

.product.leestenvoorspeller-product .product-eigenschap strong:before {
    content: '';
    position: absolute;
    height: 1px;
    width: 14px;
    top: 50%;
    background: #000000;
    transform: translate(50%, -50%);
    left: -2px;
}

.products > li.product.leestenvoorspeller-product .price .amount bdi {
	font-weight: 500;
}

.leesvoorspeller-title {
    margin-bottom: 44px;
    margin-top: 24px;
}

@media (max-width: 1200px) {
	.product.leestenvoorspeller-product .product-eigenschap {
		position: unset;
	}
}

@media (max-width: 1020px) {
	.products.columns-4 .product {
		flex-basis: calc(33% - 24px);
	}

	.products.related .products .product {
		flex-basis: calc(33% - 24px);
	}
}

@media only screen and (max-width: 1020px) and (min-width: 800px)  {
	.products.columns-4 > li:nth-child(4) {
		display: none;
	}
}

@media (max-width: 830px) {
	.shop_wrapper {
		flex-direction: column;
	}
	.shop_wrapper .shop_filters {
		flex-basis: 100%;
		width: 100%;
		align-self: start;
		max-height: 40px;
		overflow: hidden;
		height: 40px;
		position: relative;
		margin-bottom: 32px;
	}
	.shop_wrapper .shop_filters.active {
		max-height: 1000px;
		height: auto;
	}
	.shop_wrapper .shop_filters:before {
		content: 'Filters';
		font-size: var(--font-m);
		line-height: 24px;
		font-weight: 600;
	}
	.shop_wrapper .shop_filters:after {
		content: '\e917';
		position: absolute;
		transform: rotate(90deg);
		font-family: 'artemis-laboratory' !important;
		speak: never;
		font-style: normal;
		font-weight: normal;
		font-variant: normal;
		text-transform: none;
		line-height: 1;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
		font-size: 14px;
		color: #00A787;
		left: 98px;
		top: 0px;
		line-height: 24px;
		font-size: var(--font-xs);
		transition: 0.2s all;
	}
	.shop_wrapper .shop_filters.active:after {
		transform: rotate(-90deg);
	}
	.shop_wrapper .shop_overzicht {
		width: 100%;
		flex-basis: 100%;
	}
}

@media (max-width: 800px) {
	.products.related .products .product,
	.products.columns-4 .product,
	.products > .product {
		flex-basis: calc(50% - 24px);
	}
}

@media (max-width: 650px) {
	.shop_wrapper .shop_overzicht .woocommerce-result-count,
	.shop_wrapper .shop_overzicht .woocommerce-ordering {
		width: 100%;
		text-align: left;
	}

	.product.leestenvoorspeller-product .product-eigenschap {
		font-size: 14px;
	}
}

@media (max-width: 390px) {
	.products.related .products .product,
	.products.columns-4 .product,
	.products > .product {
		flex-basis: calc(100%);
	}
}

/* Single product */
body.single-product #primary > .site-main > .product  {
	display: flex;
	flex-wrap: wrap;
}

body.single-product #primary > .site-main > .product > .woocommerce-product-gallery {
	flex: 0 0 calc(50% - 32px);
	box-sizing: border-box;
	align-self: center;
	position: relative;
	z-index: 0;
	overflow: hidden;
}

body.single-product #primary > .site-main > .product > .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
	position: absolute;
	z-index: 2;
	left: 20px;
	top: 20px;
}

.flex-control-nav {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 6px 16px;
	list-style: none;
	margin: 20px 0 0 0;
	padding-inline-start: 0;
}

.flex-control-nav li::marker {
	display: none;
}

.flex-control-nav li {
	display: inline-block;
	max-width: 96px;
	aspect-ratio: 1/1;
	margin-right: 8px;
}


.flex-control-nav li img {
	display: inline-block;
	max-width: 96px;
	aspect-ratio: 1/1;
	object-fit: cover;
	object-position: center;
	border: 2px solid rgba(0,0,0,0);
	cursor: pointer;
}

.flex-control-nav li img.flex-active {
	padding: 2px;
	border: 2px solid #00A787;
}

body.single-product .variations_form {
	width: 100%;
	flex-direction: column;
}

body.single-product .variations_form .woocommerce-variation-price {
	width: 100%;
}

body.single-product .variations_form .woocommerce-variation-price .price {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 20px;
}

body.single-product .variations_form .woocommerce-variation.single_variation {
    display: flex;
    flex-direction: column-reverse;
    color: #737373;
}

body.single-product .variations_form .woocommerce-variation.single_variation .woocommerce-Price-amount.amount bdi {
	margin-top: 0;
    color: #000000;
    font-size: 32px;
    letter-spacing: 0.64px;
    line-height: 1.2;
    font-weight: 600;
    margin-bottom: 16px;
}

.so-product-intro .price del {
	display: none;
}

.so-product-intro .price ins {
	text-decoration: none;
}

body.single-product .variations_form .input-group {
	width: fit-content;
}

body.single-product .variations_form a.reset_variations {
	display: none !important;
	visibility: hidden;
}

body.single-product .variations_form .variations .label {
	font-weight: 600;
}

body.single-product .variations_form .variations_button {
	display: flex;
	flex-wrap: wrap;
}

body.single-product .variations_form .variations_button h6 {
	width: 100%;
}

body.single-product #primary > .site-main > .product > .summary.entry-summary {
	flex: 0 0 calc(50% - 32px);
	box-sizing: border-box;
	align-self: center;
	box-sizing: border-box;
}

body.single-product #primary > .site-main > .product > .summary.entry-summary h1 {
	font-size: 64px;
	line-height: 80px;
	font-weight: 500;
	margin-bottom:  12px;
}

body.single-product #primary > .site-main > .product > .summary.entry-summary p.price {
	font-size: 28px;
	line-height: 40px;
	font-weight: 500;
	color: #00A787;
	margin-bottom: 12px;
}

body.single-product #primary > .site-main > .product  form.cart {
	display: flex;
	flex-wrap: wrap;
}

body.single-product #primary > .site-main > .product  form.cart h6 {
	width: 100%;
}

body.single-product #primary > .site-main > .product  form.cart .quantity {
	margin-bottom: 16px;
}

body.single-product #primary > .site-main > .product  form.cart button {
	align-self: flex-start;
}

body.single-product .woocommerce-product-details__short-description + h6 {
	margin-top: 32px;
	text-transform: none;
	font-size: var(--font-xs);
	line-height: 26px;
}

body.single-product .so-product-intro .price del {
	display: inline-block;
    color: var(--blauw);
    font-size: 26px;
}

.product-type-variable .woocommerce-variation-price .price bdi {
	display: block;
	margin-top: 12px;
	margin-bottom: 12px;
	font-size: 28px;
	line-height: 40px;
	font-weight: 500;
	color: #00A787;
}

.input-group {
	position: relative;
}

.input-group button {
	background: transparent;
	outline: 0;
	border: 0;
	position: absolute;
	font-size: var(--font-s);
	line-height: 50px;
	font-weight: 600;
}

.input-group button:first-child {
	left: 24px;
}

.input-group button:last-child {
	right: 24px;
}

body.single-product .woocommerce-tabs {
	max-width: 1000px;
	width: 100%;
	margin: 0 auto;
	margin-top: 64px;
	box-shadow: 0px 3px 80px rgba(0,0,0,0.12);
}

body.single-product .woocommerce-tabs ul.wc-tabs {
	display: flex;
	flex-wrap: wrap;
}

body.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
	background-color: #fff;
	padding: 64px;
	box-sizing: border-box;
	margin: 64px auto;
	margin-top: 0;
}

body.single-product .woocommerce-tabs ul.wc-tabs li {
	font-size: var(--font-xs) !important;
	background-color: #FFF;
	color: #070F24;
	border-bottom: 1px solid #B9B5B0;
	transition: 0.2s all;
	flex: 1;
	white-space: nowrap;
	text-align: center;
	font-weight: 500;
}


body.single-product .woocommerce-tabs ul.wc-tabs li a {
	color: #070F24;
	padding: 12px 20px;
	display: block;
}

body.single-product .woocommerce-tabs ul.wc-tabs li:hover {
	color: #070F24;
	background-color: #EEE;
}

body.single-product .woocommerce-tabs ul.wc-tabs li.active {
	color: #FFFFFF;
	background-color: #00A787;
}

body.single-product .woocommerce-tabs ul.wc-tabs li.active a {
	color: #FFFFFF;
}

body.single-product #review_form_wrapper {
	margin-top: 32px;
	padding: 24px 0;
	border-top: 1px solid lightgrey;
}

body.single-product #review_form_wrapper #commentform .comment-form-rating label {
	font-size: 0;
	line-height: 0;
	overflow: hidden;
}

body.single-product #review_form_wrapper #commentform .comment-form-rating .stars {
	display: flex;
	gap: 24px;
	font-size: 0;
}

body.single-product #review_form_wrapper #commentform .comment-form-rating .stars a:before {
	content: '★';
	font-size: 32px;
	line-height: 32px;
}

body.single-product #review_form_wrapper #commentform .comment-form-rating .stars a {
	color: #00A787;
}

body.single-product #review_form_wrapper #commentform .comment-form-rating .stars a.active {
	color: #00A787;
}

body.single-product #review_form_wrapper #commentform .comment-form-rating .stars:not(.selected) a {
	color: #9C9A99;
}

body.single-product #review_form_wrapper #commentform .comment-form-rating .stars a.active ~ a {
	color: #9C9A99;
}

body.single-product #review_form_wrapper #commentform .comment-form-comment label {
	display: block;
	font-weight: 600;
}

ol.commentlist {
	list-style: none;
	padding-inline-start: 0;
}

ol.commentlist li.review > div {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

ol.commentlist li.review > div img {
	margin-right: 36px;
	aspect-ratio: 1/1;
	flex: 0 0 11%;
}

ol.commentlist li.review > div > div {
	display: flex;
	flex-wrap: wrap;
	flex: 1;
}

ol.commentlist li.review > div > div .star-rating {
	font-size: 0;
	flex: 0 0 48px;
	line-height: 0;
}

ol.commentlist li.review > div > div .star-rating .rating {
	font-size: 14px;
	line-height: 32px;
	color: #fff;
	position: relative;
	z-index: 0;
	display: block;
	width: 32px;
	height: 32px;
	text-align: center;
}

ol.commentlist li.review > div > div .star-rating .rating:before {
	content: '★';
	position: absolute;
	left: -4px;
	top: 0;
	font-size: 48px;
	line-height: 32px;
	z-index: -1;
	color: #00A787;
}

ol.commentlist li.review > div > div > p.meta {
	flex: 1;
	margin: 0;
	line-height: 32px;
}

ol.commentlist li.review > div > div > .description {
	flex: 1 0 100%;
}

section.crossells ul.products > li.product:first-child a {
	pointer-events: all!important;
}
section.crossells ul.products > li.product:first-child .ajax-add-to-cart {
	display: block!important;
}

#controleitems {
	max-height: 300px;
	height: 300px;
	transition: 0.2s all;
	position: relative;
	overflow: hidden;
}

#controleitems.controleitems-large {
	max-height: 415px;
	height: 415px;
}

#controleitems.expanded {
	max-height: unset;
	height: auto;
	transition: 0.2s all;
}

#controleitems .lees_meer {
	color: #00A787;
	width: 100%;
	height: 48px;
	text-align: left;
	padding-left: 112px;
	box-sizing: border-box;
	position: absolute;
	bottom: 0;
	right: 0;
	background-color: #ffffff;
	text-decoration: underline;
}

#controleitems .lees_meer:before {
	content: '';
	width: 100%;
	height: 96px;
	display: block;
	position: absolute;
	top: -92px;
	left: 0;
	background: rgb(255,255,255);
	background: linear-gradient(0deg, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%);
}

#controleitems.expanded .lees_meer:before {
	height: 0;
}

.products.related {
	width: 100%;
}

.terug_naar_boven {
	align-self: flex-end;
	order: 10;
	margin: 46px 0;
	color: #1D3D8F;
	font-weight: 600;
	font-size: var(--font-xs);
	line-height: 24px;
	display: block;
	text-align: right;
}

.terug_naar_boven i {
	transform: rotate(-180deg);
	padding-right: 16px;
	line-height: 24px;
	font-size: var(--font-xs);
	display: inline-block;
}

@media (max-width: 1260px) {
	body.single-product #primary > .site-main > .product > .woocommerce-product-gallery {
		flex: 0 0 calc(50% - 32px);
	}
}

@media only screen and (min-width: 1180px) {
	.flex-control-nav li {
	    flex: 1 0 calc(20% - 12.8px);
	    max-width: calc(20% - 12.8px) !important;
	    width: 100%;
	}
}

@media only screen and (min-width: 980px) and (max-width: 1180px) {
	.flex-control-nav li {
	    flex: 1 0 calc(25% - 12px);
	    max-width: calc(25% - 12px) !important;
	    width: 100%;
	}
}

@media (max-width: 1120px) {
	#controleitems {
		padding: 45px;
	}

	#controleitems .lees_meer {
		padding-left: 45px;
	}

	#controleitems.controleitems-large {
		max-height: 380px;
		height: 380px;
	}
}

@media (max-width: 1090px) {
	#controleitems ul {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
	}

	#controleitems ul > li {
		flex: 1 0 33%;
		box-sizing: border-box;
	}
}

@media only screen and (min-width: 900px) and (max-width: 980px) {
	.flex-control-nav li {
	    flex: 1 0 calc(33.33% - 10.66666666666667px);
	    max-width: calc(33.33% - 10.66666666666667px) !important;
	    width: 100%;
	}
}

@media (max-width: 800px) {
	body.single-product #primary > .site-main > .product > .woocommerce-product-gallery,
	body.single-product #primary > .site-main > .product > .summary.entry-summary {
		flex: 1 0 100%;
		align-self: flex-start;
	}
	body.single-product #primary > .site-main > .product > .summary.entry-summary h1 {
		margin-top: 32px;
	}
	body.single-product .woocommerce-product-gallery__image.flex-active-slide {
		text-align: center;
	}
	.flex-control-nav {
		width: fit-content;
		margin: 0 auto;
	}
	body.single-product:before {
		height: 1500px;
	}
}

@media (max-width: 770px) {
	#controleitems ul > li {
		flex: 1 0 50%;
	}
}

@media (max-width: 710px) {
	body.single-product #primary > .site-main > .product  {
		flex-direction: column;
		overflow: hidden;
	}	
	body.single-product .woocommerce-tabs {
		margin: 64px 0 0 0;
	}
}

@media (max-width: 630px) {
	#controleitems.controleitems-large {
		max-height: 370px;
		height: 370px;
	}
}

@media only screen and (min-width: 720px) and (max-width: 900px) {
	.flex-control-nav > li {
		flex: 1 0 calc(20% - 12.8px);
		max-width: calc(20% - 12.8px) !important;
	}
}

@media only screen and (min-width: 520px) and (max-width: 720px) {
	.flex-control-nav > li {
		flex: 1 0 calc(25% - 12px);
		max-width: calc(25% - 12px) !important;
	}
}

@media (max-width: 520px) {
	#controleitems ul > li {
		flex: 1 0 100%;
	}

	.flex-control-nav > li {
		flex: 1 0 calc(33.33% - 10.6777777777777777px);
		max-width: calc(33.33% - 10.6777777777777777px) !important;
	}
}

@media (max-width: 500px) {
	body.single-product #primary > .site-main > .product > .summary.entry-summary h1 {
		font-size: 48px;
		line-height: 56px;
	}
	body.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
		padding: 48px 32px;
	}
}

@media (max-width: 430px) {
	#controleitems {
		padding: 26px;
	}

	#controleitems .lees_meer {
		padding-left: 26px;
	}

	#controleitems .lees_meer:before {
		height: 80px;
		top: -80px;
		background: rgb(255,255,255);
		background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 85%);
	}
	body.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
		padding: 32px 20px;
	}
}

/* Variaties */
body.single-product .reset_variations {
	display: none !important;
}

.selection select {
	opacity: 0;
	visibility: hidden;
	height: 0;
	max-height: 0;
	overflow: hidden;
	padding: 5px;
}

/* Woo pagina's */
body.woocommerce-account,
body.woocommerce-cart,
body.woocommerce-checkout {
	background: #FFF;
}

body.woocommerce-account > .main,
body.woocommerce-cart > .main,
body.woocommerce-checkout > .main {
	min-height: calc(100vh - 750px);
}

.woocommerce-notices-wrapper,
.woocommerce-error {
	flex-basis: 100%;
}

.woocommerce-notices-wrapper > div {
	flex-basis: 100%;
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	justify-content: flex-end;
	padding: 24px 48px;
	background-color: #fff;
	margin: 16px 0 48px;
	box-sizing: border-box;
	box-shadow: 0px 55px 99px rgba(0, 0, 0, 0.06);
}

body.woocommerce-cart .woocommerce-message {
	flex-direction: column;
}

.woocommerce-notices-wrapper > div > a {
	margin: 20px auto 0;
}

@media (max-width: 1090px) {
	.woocommerce-notices-wrapper > div {
		padding: 24px;
	}
}

@media (max-width: 1030px) {
	body.single-product .woocommerce-notices-wrapper .woocommerce-message {
	    display: flex;
	    flex-direction: column-reverse;
	    gap: 20px 0;
	    justify-content: center;
	    text-align: center;
	}

	body.single-product .woocommerce-notices-wrapper .woocommerce-message a {
		margin-left: 0;
		margin-right: 0;
	}
}

@media (max-width: 560px) {
	.woocommerce-notices-wrapper > div {
		padding: 16px;
	}

	body.single-product .woocommerce-notices-wrapper .woocommerce-message {
		gap: 16px 0;
	}
}

.woocommerce-notices-wrapper > div > a {
	margin-left: auto;
}


/* Winkelwagen */
body.woocommerce-cart .woocommerce {
	display: flex;
	flex-wrap: wrap;
}

body.woocommerce-cart .woocommerce h1 {
	display: block;
	flex-basis: 100%;
}


body.woocommerce-cart .woocommerce .cart-empty.woocommerce-info {
	display: block;
	flex-basis: 100%;
	margin-top: 64px;
	margin-bottom: 32px;
}

body.woocommerce-cart .woocommerce .cart-empty.woocommerce-info + .return-to-shop {
	margin-bottom: 128px;
}

body.woocommerce-cart .woocommerce > form {
	flex-basis: 65%;
}

body.woocommerce-cart .woocommerce > form table {
	border-spacing: 0 22px;
	width: 100%;
}

body.woocommerce-cart .woocommerce > form thead tr th {
	border-bottom: 2px solid #Fff;
	font-size: var(--font-xs);
	line-height: 26px;
	padding: 16px;
	font-weight: 500;
}

body.woocommerce-cart .woocommerce > form .woocommerce-cart-form__cart-item.cart_item {
	background-color: #F7F5F6;
	margin-bottom: 22px;
}

body.woocommerce-cart .woocommerce > form .woocommerce-cart-form__cart-item.cart_item td {
	vertical-align: middle;
	padding: 0 16px;
}

body.woocommerce-cart .woocommerce > form .woocommerce-cart-form__cart-item.cart_item .product-remove {
	vertical-align: top;
	z-index: 2;
	position: absolute;
	padding: 0;
}

body.woocommerce-cart .woocommerce > form .woocommerce-cart-form__cart-item.cart_item .product-remove a {
	display: block;
	width: 24px;
	height: 24px;
	border-radius: 100%;
	line-height: 24px;
	text-align: center;
	color: red;
	box-shadow: 0px 4px 10px rgb(0 0 0 / 12%);
	font-weight: 600;
	margin-left: 12px;
	margin-right: -12px;
	margin-top: 8px;
	background-color: #fff;
}

body.woocommerce-cart .woocommerce > form .woocommerce-cart-form__cart-item.cart_item .product-thumbnail {
	max-width: 128px;
	height: 128px;
	position: relative;
	z-index: 1;
	vertical-align: middle;
	padding: 0;
}

body.woocommerce-cart .woocommerce > form .woocommerce-cart-form__cart-item.cart_item .product-thumbnail a {
	display: block;
}

body.woocommerce-cart .woocommerce > form .woocommerce-cart-form__cart-item.cart_item .product-thumbnail img {
	max-height: 128px;
	aspect-ratio: 1/1;
	height: 128px;
	object-fit: contain;
	object-position: center;
	margin: 0;
}

body.woocommerce-cart .woocommerce > form .woocommerce-cart-form__cart-item.cart_item .product-name {
	font-weight: 600;
}

body.woocommerce-cart .woocommerce > form .woocommerce-cart-form__cart-item.cart_item .product-quantity .qty {
	padding: 15px 0;
	border: 1px solid #EEEEEE;
	font-weight: 600;
	margin: 0;
	width: 100%;
}

body.woocommerce-cart .woocommerce > form .woocommerce-cart-form__cart-item.cart_item .product-subtotal {
	color: #1D1D1D;
	font-weight: 600;
}

body.woocommerce-cart .coupon,
body.woocommerce-cart .actions {
	margin-bottom: 12px;
	margin-top: 12px;
}

body.woocommerce-cart .actions > * {
	display: inline-flex;
	flex-wrap: wrap;
}

body.woocommerce-cart .coupon > button,
body.woocommerce-cart .actions > button {
	border: inherit;
	outline: 0;
}

body.woocommerce-cart .actions > button:disabled {
	opacity: 0.5;
	pointer-events: none;
	cursor: not-allowed !important;
}

body.woocommerce-cart .actions > button:hover:after {
	transform: rotate(90deg);
}

body.woocommerce-cart .coupon input {
	margin: 0 12px 0 0;
}

body.woocommerce-cart .coupon label {
	display: none;
}

body.woocommerce-cart .woocommerce > .carttotal-side {
    flex-basis: 31%;
    box-sizing: border-box;
    margin-left: auto;
    display: flex;
    flex-direction: column;
}

body.woocommerce-cart .woocommerce > .carttotal-side .go-to-shop {
	text-align: center;
	transition: 0.2s ease all;
}

body.woocommerce-cart .woocommerce > .carttotal-side .go-to-shop:hover {
	color: #1D1D1D;
}

body.woocommerce-cart .woocommerce > .carttotal-side .cart_totals {
	background: #F3FAFC;
	padding: 32px;
	margin-bottom: 16px;
	border-radius: 12px;
}

body.woocommerce-cart .woocommerce > .carttotal-side .shop_table {
	width: 100%;
}

body.woocommerce-cart .woocommerce > .carttotal-side .cart_totals {
	width: calc(100% - 64px);
	display: flex;
	flex-direction: column;
	height: 100%;
}

body.woocommerce-cart .woocommerce > .carttotal-side .shop_table tr th {
	width: 50%;
	font-size: var(--font-xs);
	line-height: 26px;
	padding: 32px 0;
	font-weight: 500;
	letter-spacing: 0.9px;
}

body.woocommerce-cart .woocommerce > .carttotal-side .shop_table tr td {
	width: 50%;
	font-size: 14px;
	line-height: 26px;
	padding: 16px 0;
	font-weight: 400;
}

body.woocommerce-cart .woocommerce > .carttotal-side .shop_table tr.order-total th,
body.woocommerce-cart .woocommerce > .carttotal-side .shop_table tr.order-total td {
	border-bottom: 1px solid transparent;
}

body.woocommerce-cart .woocommerce > .carttotal-side .shop_table tr td strong {
	font-weight: 400;
}

body.woocommerce-cart .woocommerce > .carttotal-side .shop_table tr td {
	font-size: var(--font-xs);
	letter-spacing: 0.36px;
	line-height: 1.2;
}

body.woocommerce-cart .woocommerce > .carttotal-side .wc-proceed-to-checkout{
	margin-top: auto;
}

body.woocommerce-cart form.woocommerce-cart-form button[name="update_cart"] {
    background: none;
    padding: 0 0 0 38px;
    border-radius: 0;
    color: #17A2B8;
    height: 24px;
    line-height: 24px;
    text-decoration: underline;
}

body.woocommerce-cart form.woocommerce-cart-form button[name="update_cart"]:before {
	content: '';
    height: 24px;
    width: 24px;
    background-color: unset;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='27.26' height='24.265'%3E%3Cg fill='none' stroke='%2317a2b8' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' data-name='streamline-icon-button-refresh-arrows@40x40'%3E%3Cpath d='M6.2 14.604v4.953H1.25' data-name='Path 378'/%3E%3Cpath d='M21.058 9.653V4.7h4.95' data-name='Path 379'/%3E%3Cpath d='M21.369 4.697a10.731 10.731 0 0 1-11.87 17.337' data-name='Path 380'/%3E%3Cpath d='M5.891 19.559a10.732 10.732 0 0 1 11.87-17.333' data-name='Path 381'/%3E%3C/g%3E%3C/svg%3E");
    position: absolute;
    left: 0;
    top: 0;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

body.woocommerce-cart .woocommerce > .carttotal-side .wc-proceed-to-checkout .checkout-button {
    width: calc(100% - 64px);
    text-align: center;
}

.woocommerce table.shop_table tr #shipping_method {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	gap: 24px;
}

.woocommerce table.shop_table tr #shipping_method > li:after {
	content: attr(data-address);
	font-size: 14px;
	letter-spacing: 0.7px;
	margin-top: 8px;
}

.woocommerce table.shop_table tr #shipping_method li label {
	cursor: pointer;
}

.woocommerce table.shop_table tr .woocommerce-shipping-destination {
	margin-top: 8px;
	margin-bottom: 8px;
}

.woocommerce table.shop_table tr :is(.woocommerce-shipping-destination, .woocommerce-shipping-calculator) {
	font-size: 14px;
	letter-spacing: 0.7px;
	line-height: 1.5;
}

.woocommerce table.shop_table tr.order-total td .amount {
	font-weight: 600;
}

@media (max-width: 964px) {
	body.woocommerce-cart .woocommerce {
		flex-direction: column;
	}
}


/* Afrekenen */
body.woocommerce-checkout .woocommerce-form-coupon {
	flex-basis: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	padding: 24px 48px;
	background-color: #fff;
	margin: 48px 0;
	box-sizing: border-box;
	box-shadow: 0px 55px 99px rgba(0, 0, 0, 0.06);
}

body.woocommerce-checkout .woocommerce-form-coupon p:first-of-type {
	margin-right: auto;
}

body.woocommerce-checkout .woocommerce-form-coupon p input {
	border: 1px solid #eee;
	margin: 0 8px 0 0;
}
body.woocommerce-checkout h1 {
	margin-bottom: 40px;
}

.checkout.woocommerce-checkout {
	display: flex;
	flex-wrap: wrap;
}

.checkout.woocommerce-checkout .woocommerce-NoticeGroup-checkout {
	flex-basis: 100%;
}

.woocommerce-billing-fields__field-wrapper #billing_first_name_field {
	max-width: 40%;
	width: 40%;
	display: inline-block;
	padding-right: 24px;
	box-sizing: border-box;
}

.woocommerce-billing-fields__field-wrapper #billing_last_name_field {
	max-width: 60%;
	width: 60%;
	display: inline-block;
}

.woocommerce-billing-fields__field-wrapper #billing_state_field {
	display: none;
}

.woocommerce-billing-fields__field-wrapper input, 
.woocommerce-billing-fields__field-wrapper select {
	width: 100%;
}

.woocommerce-invalid input {
	border: 1px solid #f73939 !important;
	color: #f73939 !important;
}

body.woocommerce-checkout #payment {
	margin: 36px 0;
}

.woocommerce-checkout-payment li {
	margin: 12px 0 24px;
}

.woocommerce-checkout-payment li .payment_box {
	padding: 12px;
	box-sizing: border-box;
	background-color: rgba(0, 167, 135, 0.1);
	margin: 12px 0 12px;
	display: block;
	position: relative;
}

.woocommerce-checkout-payment li .payment_box:before {
	content: '';
	width: 0; 
	height: 0; 
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
	border-bottom: 8px solid rgba(0, 167, 135, 0.1);
	position: absolute;
	left: 4px;
	top: -8px;
}

.woocommerce-checkout-payment label {
	padding-left: 40px;
	line-height: 24px;
	margin-top: -30px;
	display: block;
	cursor: pointer;
	font-size: var(--font-xs);
	font-weight: 600;
	position: relative;
}

.woocommerce-terms-and-conditions-checkbox-text {
	position: relative;
}

.mailchimp-newsletter input[type="checkbox"] + label:before {
	content: "";
	width: 24px;
	height: 24px;
	left: 4px;
	top: 0;
	background: #F5F5F5;
	border: 4px solid #fff;
	position: absolute;
	display: block;
	box-sizing: border-box;
	border-radius: 4px;
	box-shadow: 0px 4px 8px rgb(0 0 0 / 6%);
}

.mailchimp-newsletter input[type="checkbox"]:checked + label:before {
	background: linear-gradient(133deg, #00A787 0%, #1D3D8F 100%);
}

.mailchimp-newsletter {
	margin-bottom: 24px;
}

.woocommerce-terms-and-conditions + .form-row .woocommerce-form__label-for-checkbox input {
	position: absolute;
}

.woocommerce-privacy-policy-text {
	padding-bottom: 4px;
}

.woocommerce-shipping-totals .woocommerce-shipping-methods li label {
	position: relative;
}

.woocommerce-shipping-totals .woocommerce-shipping-methods li input {
	visibility: hidden;
	position: absolute;
}

.woocommerce-shipping-totals .woocommerce-shipping-methods li label:before,
.woocommerce-checkout-payment .wc_payment_method > label:before,
.woocommerce-shipping-totals .woocommerce-shipping-methods input[type="radio"]:checked ~ label:after,
.woocommerce-checkout-payment .wc_payment_methods .input-radio:checked ~ label:after {
	position: absolute;
	content: "";
}

.woocommerce-shipping-totals .woocommerce-shipping-methods li label:before,
.woocommerce-checkout-payment .wc_payment_method > label:before {
	border: 1px solid #1D1D1D;
	border-radius: 100%;
	width: 22px;
	height: 22px;
	top: 0;
	left: -44px;
	transition: 0.2s ease all;
}

.woocommerce table.shop_table tr.woocommerce-shipping-totals.shipping > th {
	padding-right: 52px;
}

.woocommerce-shipping-totals .woocommerce-shipping-methods input[type="radio"]:checked ~ label:before,
.woocommerce-checkout-payment .wc_payment_methods .input-radio:checked ~ label:before {
	background: white;
}

.woocommerce-shipping-totals .woocommerce-shipping-methods input[type="radio"]:checked ~ label:after,
.woocommerce-checkout-payment .wc_payment_methods .input-radio:checked ~ label:after {
    background: #17A2B8;
    top: 5px;
    left: -39px;
    height: 14px;
    width: 14px;
    border-radius: 100%;
}

.woocommerce-checkout-payment .payment_method_cardgateideal .payment_method_cardgateideal label {
	padding-left: 0;
}

.woocommerce-checkout #payment ul.payment_methods li input, .woocommerce form .form-row .input-checkbox {
	visibility: hidden;
}

.woocommerce-billing-fields #factuuradres {
	width: 100%;
}

body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
	margin: 36px 0;
}

#mailchimp-gdpr-fields {
	display: none;
}

@media (max-width: 1130px) {
	.woocommerce-billing-fields__field-wrapper #billing_first_name_field,
	.woocommerce-billing-fields__field-wrapper #billing_last_name_field {
		max-width: 50%;
		width: 50%;
	}
	.woocommerce-billing-fields__field-wrapper #billing_address_1_field {
		max-width: 60%;
		width: 60%;
	}
	.woocommerce-billing-fields__field-wrapper #billing_address_2_field {
		max-width: 40%;
		width: 40%;
	}
	.checkout.woocommerce-checkout #order_review {
		flex-basis: 45%;
	}
}

@media (max-width: 864px) {
	.checkout.woocommerce-checkout {
		flex-direction: column;
	}
}

@media (max-width: 460px) {
	.woocommerce-billing-fields__field-wrapper #billing_first_name_field,
	.woocommerce-billing-fields__field-wrapper #billing_last_name_field,
	.woocommerce-shipping-fields__field-wrapper #shipping_first_name_field,
	.woocommerce-shipping-fields__field-wrapper #shipping_last_name_field {
		max-width: 100%;
		width: 100%;
		padding-right: 0;
	}
	.woocommerce-billing-fields__field-wrapper #billing_address_1_field {
		max-width: 100%;
		width: 100%;
		padding-right: 0;
	}
	.woocommerce-billing-fields__field-wrapper #billing_address_2_field {
		max-width: 100%;
		width: 100%;
		padding-right: 0;
	}
	.checkout.woocommerce-checkout #order_review {
		flex-basis: 45%;
	}
}

/* Mijn account pagina */

/* Woocommerce wachtwoord vergeten */
body.woocommerce-lost-password .woocommerce-ResetPassword {
	max-width: 560px;
	margin: 0 auto;
}

body.woocommerce-lost-password .woocommerce-ResetPassword label {
	display: block;
	font-weight: 600;
	padding-left: 20px;
}

body.woocommerce-lost-password .woocommerce-ResetPassword label + input {
	display: block;
	width: 100%;
}

/* Login */
body.woocommerce-account:not(.logged-in) .woocommerce > * {
	flex-basis: 100%;
}

body.woocommerce-account:not(.logged-in) .woocommerce-form-login {
	max-width: 456px;
}

body.woocommerce-account:not(.logged-in) .portal-login {
	max-width: 40%;
	margin-left: auto;
	background-color: #fff;
	padding: 48px;
	box-sizing: border-box;
	align-self: flex-start;
	margin-top: 0 !important;
}

body.woocommerce-account:not(.logged-in) label {
	display: block;
	font-weight: 600;
}

body.woocommerce-account:not(.logged-in) input:not(.woocommerce-form__input-checkbox),
.woocommerce-account.favorite-products-not-logged-in input:not(.woocommerce-form__input-checkbox) {
	display: block;
	width: 100%;
	margin-bottom: 24px;
}

body.woocommerce-account:not(.logged-in) input.woocommerce-form__input-checkbox {
	margin-bottom: 0;
	position: absolute;
}

body.woocommerce-account:not(.logged-in) .woocommerce-button {
	margin-bottom: 24px;
	margin-top: 24px;
}

body.woocommerce-account:not(.logged-in) .woocommerce-LostPassword {
	padding-left: 200px;
	margin-top: -72px;
}

.woocommerce-form-login__rememberme {
	box-sizing: border-box;
}

.woocommerce-form-login__rememberme input {
	margin-bottom: 0;
	visibility: hidden;
}

.woocommerce-form-login__rememberme span {
	display: flex;
	align-items: center;
	height: 24px;
	position: relative;
	padding-left: 32px;
	font-size: 12px;
}

.woocommerce-form-login__rememberme span:before {
	content: "";
	width: 24px;
	height: 24px;
	left: 0px;
	top: 0;
	background: #F5F5F5;
	border: 4px solid #fff;
	position: absolute;
	display: block;
	box-sizing: border-box;
	border-radius: 100%;
	box-shadow: 0px 4px 8px rgb(0 0 0 / 6%);
}

.woocommerce-form-login__rememberme input:checked ~ span:before {
	background: linear-gradient(133deg, #00A787 0%, #1D3D8F 100%);
	border: 4px solid #F5F5FA;
}

@media (max-width: 990px) {
	body.woocommerce-account:not(.logged-in) .portal-login {
		width: 80%;
		max-width: 80%;
		margin-left: 0;
		margin-top: 80px !important;
	}
}

@media (max-width: 580px) {
	body.woocommerce-account:not(.logged-in) .portal-login {
		width: 100%;
		max-width: 100%;
		margin-left: 0;
		margin-top: 80px !important;
	}
}

@media (max-width: 400px) {
	body.woocommerce-account:not(.logged-in) .portal-login {
		padding: 24px;
	}
	body.woocommerce-account:not(.logged-in) .woocommerce-LostPassword {
		padding-left: 150px;
	}
}

/* Woocommerce order received */


/* WooCommerce taxonomy pagina */
body.tax-product_cat .shop_wrapper .shop_filters {
	flex-basis: 0;
}

body.tax-product_cat .shop_wrapper .shop_overzicht {
	flex-basis: 100%;
}

.so-add-to-cart .single_add_to_cart_button.wc-variation-is-unavailable,
.so-add-to-cart .single_add_to_cart_button.disabled {
	background-color: var(--zwart);
	background: var(--zwart);
	color:white;
}
.so-add-to-cart .single_add_to_cart_button.wc-variation-is-unavailable:hover,
.so-add-to-cart .single_add_to_cart_button.disabled:hover {
	opacity: 0.2;
	transition: 250ms ease opacity;
}
.so-add-to-cart .single_add_to_cart_button.wc-variation-is-unavailable:hover:before,
.so-add-to-cart .single_add_to_cart_button.disabled:hover:before {
	content: none;
}


/* WooCommerce error */
.woocommerce-error {
    margin-bottom: 34px;
    padding: 46px;
    background: #FAF5F7;
    border-radius: 12px;
}


/* Woocommerce widget buttons */
.shop-filters :is(.widget_layered_nav, .widget_layered_nav_filters) {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 16px;
}

.shop-filters :is(#woocommerce_layered_nav-5) .woocommerce-widget-layered-nav-list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
}

.shop-filters :is(#woocommerce_layered_nav-5) .woocommerce-widget-layered-nav-list li {
	display: inherit;
	margin-left: 0;
	width: calc(25% - 6px);
}

.shop-filters :is(#woocommerce_layered_nav-5) .woocommerce-widget-layered-nav-list li:before,
.shop-filters :is(#woocommerce_layered_nav-5) .woocommerce-widget-layered-nav-list li .count {
	display: none;
}

.shop-filters :is(#woocommerce_layered_nav-5) .woocommerce-widget-layered-nav-list li a {
    padding: 7px 10px;
    border: 1px solid #CCCCCC;
    border-radius: 6px;
    transition: 0.2s ease all;
    width: 100%;
    text-align: center;
}

.shop-filters :is(#woocommerce_layered_nav-5) .woocommerce-widget-layered-nav-list li:not(.chosen) a:hover {
	border-color: #1D1D1D;
	color: #1D1D1D;
}

.shop-filters :is(#woocommerce_layered_nav-5) .woocommerce-widget-layered-nav-list li a:after {
	display: none;
}

.shop-filters :is(#woocommerce_layered_nav-5) .woocommerce-widget-layered-nav-list li.chosen a {
	border-color: #0D0D0D;
	background: #0D0D0D;
	color: #FFFFFF;
}

.shop-filters :is(#woocommerce_layered_nav-5) .woocommerce-widget-layered-nav-list li.chosen:after {
	display: none;
}

.shop-filters .widget_layered_nav_filters ul {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 12px;
}

.shop-filters .widget_layered_nav_filters :is(ul, ul li) {
    display: flex;
}

.shop-filters .widget_layered_nav_filters ul li a {
	position: relative;
    background: #EEECED;
    border-radius: 20px;
    color: black;
    font-size: 14px;
    line-height: 1;
    text-decoration: none;
    padding: 10px 40px 10px 20px;
}

.shop-filters .widget_layered_nav_filters ul li a:hover {
	background: #F3FAFC;
}

.shop-filters .widget_layered_nav_filters ul li a:after {
	content: '';
    position: absolute;
    height: 9px;
    width: 9px;
    right: 15px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9.707' height='9.707' viewBox='0 0 9.707 9.707'%3E%3Cg id='Group_3709' data-name='Group 3709' transform='translate(-427.146 -610.146)'%3E%3Cline id='Line_217' data-name='Line 217' x2='9' y2='9' transform='translate(427.5 610.5)' fill='none' stroke='%231d1d1d' stroke-width='1'/%3E%3Cline id='Line_218' data-name='Line 218' x1='9' y2='9' transform='translate(427.5 610.5)' fill='none' stroke='%231d1d1d' stroke-width='1'/%3E%3C/g%3E%3C/svg%3E");
    top: 50%;
    transform: translate(0, -50%);
    transition: 0.2s ease all;
}


#billing_address_2, #shipping_address_2 {
	display: none;
}


/* Woocommerce product description */
.product-desc-attributes {
	margin-top: var(--ruimte-s);
}

.product-desc-attributes p {
	margin-bottom: 2px;
	position: relative;
}

.product-desc-attributes p.product-description {
	margin-bottom: 12px;
}


/* Hide tax checkout page */
.shop_table .order-total .includes_tax {
	display: none;
}



.wc-block-grid__products {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -8px 16px;
    padding: 0;
    background-clip: padding-box;
}

.wc-block-grid.has-4-columns .wc-block-grid__product {
    flex: 1 0 25%;
    max-width: 25%;
	border-bottom: 16px solid transparent;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    box-sizing: border-box;
    float: none;
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
    text-align: center;
    width: auto;
}

@media only screen and (max-width: 600px) {
	.wc-block-grid.has-4-columns .wc-block-grid__product {
	    flex: 1 0 50%;
	    max-width: 50%;
	    padding: 0;
	}
}

@media only screen and (max-width: 350px) {
	.wc-block-grid__products {
		flex-direction: column;
	}

	.wc-block-grid.has-4-columns .wc-block-grid__product {
	    flex: 1 0 100%;
	    max-width: unset;
	    width: 100%;
	}
}


body.woocommerce-account .so-account-dashboard form button[type="submit"] {
	font-family: var(--font-family);
}