/*
Theme Name: Horeca J&P
Description: Thema voor horecajenp.nl
Author: Melvin Praamsma
Author URI: mpdesign.nl
Template: shoptimizer
Version: 1.25
*/


/* ======================================================
   1. BASE TYPOGRAPHY & GLOBAL
====================================================== */

h1, h2, h3, h4, h5, h6 {
    margin: 0 0 .8407911001em;
    color: #03498f;
}

p {
    line-height: 1.5rem;
    text-align: justify;
	/*color: #263746 !important;*/
}

p a {
    background-image: linear-gradient(transparent calc(100% - 0.35em), #00476a1c 0),
                      linear-gradient(transparent calc(100% - 0.35em), #006ca11c 0);
    background-repeat: no-repeat;
    background-size: 0 100%, 100% 100%;
    transition: background-size .1s ease-in-out;
    color: #147091;
}

p a:hover {
    color: #147091;
    background-size: 100% 100%, 100% 100%;
    text-decoration: none;
}

p a:active,
a:hover {
    outline: 0;
    background-size: 100% 100%, 100% 100%;
    text-decoration: none;
}

/* Offerteformulier - Turnstile rechtsonder naast de verzendknop */
.wpforms-form {
    position: relative;
}

.wpforms-recaptcha-container.wpforms-is-turnstile {
    position: absolute !important;
    right: 35px !important;
    bottom: 30px !important;
    width: 300px !important;
    margin: 0 !important;
}

.woocommerce-Tabs-panel ul li a, .below-woocommerce-category a {
	background-image: linear-gradient(transparent calc(100% - 0.35em), #00476a1c 0), linear-gradient(transparent calc(100% - 0.35em), #006ca11c 0);
    background-repeat: no-repeat;
    background-size: 0 100%, 100% 100%;
    transition: background-size .1s ease-in-out;
    color: #147091;
}


/* Elementor specifieke overrides */
.elementor-6508 .elementor-element.elementor-element-562856c > .elementor-widget-container,
.elementor-6508 .elementor-element.elementor-element-d4a5ac4 > .elementor-widget-container,
.elementor-6508 .elementor-element.elementor-element-142af34 > .elementor-widget-container {
    background-color: inherit;
}

.col-full.topbar-wrapper {
    border-bottom: inherit;
}

/* ======================================================
   2. HEADER & NAVIGATION
====================================================== */
.menu-primary-menu-container ul li.current-menu-item a span:before,
.menu-primary-menu-container ul li.current-product_cat-ancestor a span:before
{
	transform: scale(1);
	transform-origin: left center;
    border-color: #dc9814; 
}

.menu-primary-menu-container > ul > li > a {
    padding: 0 .30em;
}

ul#menu-top-menu li {
    display: inline-block;
    list-style: none;
    margin: 0 5px;
    padding: 10px 0;
    transition: background-color .3s;
}

.main-navigation ul li,
.secondary-navigation ul li {
    margin-right: 0;
}

nav.woocommerce-breadcrumb a {
    text-decoration: underline;
}

/* zoeken */

.site-header input[type=search] {
    background: #F7F9FC;
}

.header-5 .site-header input[type=search] {
    font-size: 15px;
}

.top-bar a:hover {
    border-bottom: 1px solid #ccc;
    transition: transform .3s cubic-bezier(.28, .75, .22, .95);
}

/* verhuur blok header */
.menu-verhuur {
	height: 55px;
	padding: 0 15px;
	border: 1px solid #eee;
	border-radius: 2px;
	line-height: 55px;
	border-radius: 10px !important;
}

.header-5.woocommerce-active .site-header .site-header-cart a.cart-contents {
	border-radius: 10px !important;
}

/* Verhuuraanvraag menu item */
.menu-verhuur > a {
	display: flex;
	align-items: center;
	gap: 6px;
	font-weight: 500;
	color: #1f1f1f;
	background: none;
	padding: 0px !important;
}

.menu-verhuur .verhuur-counter {
	background: #113769;
	color: #fff;
	border-radius: 10px;
	padding: 2px 6px;
	font-size: 12px;
	font-weight: 700;
	min-width: 18px;
	text-align: center;
}

.menu-verhuur > a {
	display: flex;
	align-items: center;
	gap: 6px;
	font-weight: 500;
	color: #1f1f1f;
	transition: opacity 0.2s ease;
}

.menu-verhuur > a:hover {
    opacity: 0.7;
}

.menu-verhuur {
    margin-right: 25px;
}

/* Woocommerce global message */
.woocommerce-message {
    background: #e7f7ed !important;
    color: #0a8f44;
    font-weight: 600;
	border-radius: 5px;
}
/* ======================================================
   3. FOOTER & BREADCRUMBS & USP BOTTOM
====================================================== */

.below-content {
    background-color: #fff7ec;
    text-align: center;
}

.below-content .widget .widget-title {
    margin-bottom: 15px;
    display: none;
}

i.fa.fa-truck.usp,
i.fa.fa-users.usp,
i.fa.fa-lock.usp,
i.fa.fa-coffee.usp {
    font-size: 30px;
    margin-bottom: 20px;
    color: #042c61;
}

.below-content .widget p {
    color: #000;
    padding-left: 0;
}

.textwidget.custom-html-widget a {
    color: inherit;
}

.below-content p,
.below-content p a {
    background-image: inherit;
    text-align: center !important;
}

/* Kennisbank tip */
a.kennisbankTip:before {
    content: "Tip!";
    font-family: Kalam, cursive;
    font-weight: 700 !important;
    font-style: italic;
    font-size: 14px;
    color: #f7c88a;
    padding-right: 10px;
    text-decoration: underline;
}

footer.copyright {
    font-size: 14px;
}

.woocommerce-order-received table.woocommerce-table--order-details tfoot td,
.woocommerce-order-received table.woocommerce-table--order-details tfoot th,
footer {
    font-size: 15px;
}

/* Horeca J&P premium quote */
blockquote {
    margin: 30px 0 0;
    padding: 18px 28px 18px 30px;
    background: #f3f7fc;
    border-left: 4px solid #00529c;
    border-radius: 6px;
    color: #152238;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.04);
    box-sizing: border-box;
}

blockquote p {
    margin: 0;
    text-align: center;
    font-size: 14px;
    line-height: 1.6;
    font-weight: 600;
}

blockquote em {
    font-style: normal;
}

blockquote strong {
    font-weight: 600;
}

/* Mobiel */
@media (max-width: 767px) {
    blockquote {
        margin-top: 24px;
        padding: 15px 18px 15px 22px;
    }

    blockquote p {
        font-size: 15px;
        line-height: 1.5;
    }
}

/* ==========================================================
   HJP COPYRIGHT FOOTER
   ========================================================== */

/* Volledige copyrightbalk */
html body footer.copyright {
	background-color: #0b376d !important;
	background: #0b376d !important;
	color: #ffffff !important;
	border: 0 !important;
	box-shadow: none !important;
}

/* Binnencontainer */
html body footer.copyright > .col-full {
	background-color: transparent !important;
	background: none !important;
	color: #ffffff !important;
	border: 0 !important;
	box-shadow: none !important;
}

/* Onze eigen rij */
html body footer.copyright .hjp-copyright-row {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 18px 0 !important;
	background-color: transparent !important;
	background: none !important;
	border: 0 !important;
	box-shadow: none !important;
}

/* Copyrighttekst */
html body footer.copyright .hjp-copyright-text {
	display: flex !important;
	align-items: center !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	color: #ffffff !important;
	white-space: nowrap !important;
	line-height: 1.4 !important;
}

html body footer.copyright .hjp-copyright-text span {
	display: inline !important;
	margin: 0 !important;
	padding: 0 !important;
	color: #ffffff !important;
	white-space: nowrap !important;
}

/* NIX18 */
html body footer.copyright .hjp-nix18 {
	display: flex !important;
	align-items: center !important;
	margin-left: auto !important;
	padding: 0 !important;
	background: transparent !important;
	background-color: transparent !important;
}

html body footer.copyright .hjp-nix18 a {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	background-color: transparent !important;
	line-height: 0 !important;
}

html body footer.copyright .hjp-nix18 img {
	display: block !important;
	width: 90px !important;
	height: auto !important;
	max-height: 45px !important;
	background: transparent !important;
	background-color: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}


/* ==========================================================
   MOBIEL
   ========================================================== */

@media (max-width: 767px) {

	html body footer.copyright > .col-full {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

	html body footer.copyright .hjp-copyright-row {
		flex-direction: column !important;
		align-items: flex-start !important;
		justify-content: flex-start !important;
		gap: 15px !important;
		padding: 15px 0 !important;
	}

	html body footer.copyright .hjp-nix18 {
		margin-left: 0 !important;
	}

	html body footer.copyright .hjp-nix18 img {
		width: 80px !important;
	}
}


.single-product .site-content .col-full {
    background-color: #000000 !important;
	background: none !Important;
}

footer:last-child:not(:only-of-type) {
    margin-top: 0;
    background-color: #113769;
}

footer .widget .widget-title {
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: inherit;
    line-height: inherit;
}

/* =========================================================
	FOOTER - Kolommen
   ========================================================= */

.site-footer .widget-title,
.site-footer .widget .widget-title,
footer .widget-title,
footer .widget .widget-title {
    display: block !important;
    margin: 0 0 18px !important;
    color: #ffffff !important;
    font-size: 16px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

/* Subtiele accentlijn onder de titel */
.site-footer .widget-title::after,
.site-footer .widget .widget-title::after,
footer .widget-title::after,
footer .widget .widget-title::after {
    content: "";
    display: block;
    width: 28px;
    height: 2px;
    margin-top: 9px;
    background: #4da3df;
    border-radius: 2px;
}

/* Footer link text */
footer li a:after {
    border-color: #ffe6c3;
}

footer.site-footer {
    padding: 30px 0 0;
    background-color: #042c61;
    background-image: url(images/footer-wave.svg);
    background-repeat: repeat-x !important;
    background-position: bottom center;
}

footer.copyright {
    padding: 2rem 0 0;
}

footer.copyright .widget:last-child {
    text-align: inherit;
}

table td,
table th {
    text-align: left;
    vertical-align: top;
    padding: 5px;
}

table.openingstijdenTbl td {
    font-size: 14px;
}

/* ======================================================
   4. WOOCOMMERCE – ARCHIVE
====================================================== */

/* Category heading + intro tekst */
.tax-product_cat header.woocommerce-products-header, .shoptimizer-category-banner {
    background: #f8f9fb;
    border-radius: 12px;
}

.term-description p {
    margin-bottom: 25px ! Important;
}

.tax-product_cat .term-description {
    padding-bottom: 0px;
}

.below-woocommerce-category {
    border: none;
    background: #f8f9fb;
    border-radius: 12px;
}

.archive-header {
	background-color: #000000;
    position: relative;
    min-height: 60px;
    padding: 10px 0 5px !important;
	margin-bottom: 25px;
}


.site-content .woocommerce-breadcrumb {
    color: #fff;
}

nav.yoast.woocommerce-breadcrumb a {
    color: #fff;
}

nav.yoast.woocommerce-breadcrumb a:hover {
    color: #FDC300;
}


.woocommerce-breadcrumb a, .woocommerce-breadcrumb a:hover {
    //color: #FDC300;
}

.page-id-9 .archive-header,
.page-id-10 .archive-header,
.page-id-6508 .archive-header,
.page-id-1002 .archive-header,
.page-id-1132 .archive-header {
    display: none !important;
}

.page-id-9 .shoptimizer-primary-navigation,
.page-id-10 .shoptimizer-primary-navigation {
    margin-bottom: 20px;
}

/* ======================================================
   5. WOOCOMMERCE – SINGLE PRODUCT / CATEGORY
====================================================== */

/* Subcategory overview border */
ul.products li.product.product-category:before {
    border: 1px solid #f8f9fb;
    border-radius: 12px;
}

ul.products li.product.product-category:hover:before {
    border-color: #0a5ca8;
}


/* Included prices */
small.woocommerce-price-suffix {
    font-weight: normal;
    color: #999;
}

p.price {
    color: #008945 !important;
    font-weight: bold;
	font-size: 22px !important;
    font-family: 'Source Sans Pro', 'Helvetica Neue', Helvetica, Arial, sans-serif !important;

}

p.price-and-vat {
    color: #aeafb0;
    font-style: italic;
}

body ul.products li.product p.product__categories a {
    color: #50575e;
    font-size: 12px;
    text-transform: none;
}

ul.products li.product .woocommerce-LoopProduct-link {
    display: block;
    color: #2c2d33;
    font-weight: 600;
	text-align: center;
}

p.product__categories {
    text-align: center;
}

a.button.wp-element-button.product_type_simple.add_to_cart_button.ajax_add_to_cart {
    height: 50px;
    line-height: 50px;
}

body ul.products li.product .button {
    bottom: inherit;
}

body #page .woocommerce-tabs ul.tabs li.active a {
    font-weight: 600;
    background-image: linear-gradient(transparent calc(100% - 0.35em), #00476a1c 0),
                      linear-gradient(transparent calc(100% - 0.35em), #006ca11c 0);
    background-repeat: no-repeat;
    background-size: 0 100%, 100% 100%;
    transition: background-size .1s ease-in-out;
	color: #03498f;
    font-size: 16px;
}

#page div.product .summary {
    margin-right: 0;
    min-width: 45%;
	border-radius: 10px !important;
	margin-bottom: 10px ! Important;
	box-shadow: 0 8px 24px rgba(15, 47, 85, 0.07) !important;
    padding: 24px 24px 26px !important;
}

#page .product .woocommerce-product-gallery {
    min-width: 40%;
}

/* USP */
i.fa.fa-check-circle.usp {
    color: #3bb54a;
}

/* Tabs productpagina */
#page .woocommerce-tabs ul.tabs li a {
    color: #000;
    font-size: 14px;
}

.hjp-product-description-layout h2 {
    display: block !important;
}


/* =========================================================
   HJP PRODUCT BESCHRIJVING + SPECIFICATIES PRODCTPAGINA
   ========================================================= */

.hjp-product-description-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.8fr) minmax(300px, 1fr);
	gap: 55px;
	align-items: start;
	width: 100%;
}

/* =========================================================
   TABS / BOVENLIGGENDE CONTAINER
   ========================================================= */

.woocommerce-tabs.wc-tabs-wrapper {
    width: 100% !important;
    max-width: 1160px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box;
}


/* Tabs zelf volledig benutten */
.woocommerce-tabs .wc-tabs {
    width: 100% !important;
    display: flex;
    justify-content: flex-start;
    margin: 0 0 35px !important;
    padding: 0 !important;
    border-bottom: 1px solid #e5e5e5;
	border: none;
}

/* Tab-items */
.woocommerce-tabs .wc-tabs li {
    margin: 0 !important;
    padding: 0 !important;
}


/* Tab-links */
.woocommerce-tabs .wc-tabs li a {
    display: block;
    margin: 0 32px 0 0;
    padding: 0 0 13px;
    color: #111;
    font-size: 15px;
    font-weight: 600;
    border-bottom: none;
}

.product-widget ul li:before {
    margin-top: 0px;
}


/* Tweede tab verbergen */
.woocommerce-tabs .additional_information_tab {
    display: none !important;
}

/* ============================================================
   HJP - Producttabs
   ============================================================ */

.single-product .woocommerce-tabs {
    margin-top: 35px;
}

/* Tab-balk */
.single-product .woocommerce-tabs ul.tabs.wc-tabs {
    display: flex;
    align-items: flex-end;
    gap: 8px;
    margin: 0 0 28px !important;
    padding: 0 !important;
    border: 0 !important;
}

/* Tabs */
.single-product .woocommerce-tabs ul.tabs.wc-tabs li {
    position: relative;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

/* Tab links */
.single-product .woocommerce-tabs ul.tabs.wc-tabs li a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 !important;
    padding: 10px 16px 11px !important;
    border-radius: 7px;
    color: #4b5563 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.3;
    text-decoration: none !important;
    transition: all .2s ease;
}

/* Hover */
.single-product .woocommerce-tabs ul.tabs.wc-tabs li a:hover {
    color: #0a5ca8 !important;
    background: #f5f8fb !important;
}

/* Actieve tab */
.single-product .woocommerce-tabs ul.tabs.wc-tabs li.active a {
    color: #0a5ca8 !important;
    background: #eef5fb !important;
}

/* Blauwe actieve indicator */
.single-product .woocommerce-tabs ul.tabs.wc-tabs li.active a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 3px;
    background: #0a5ca8;
    border-radius: 3px;
}

/* ============================================================
   HJP - Review aantal badge
   ============================================================ */
.single-product .woocommerce-tabs ul.tabs.wc-tabs li#tab-title-reviews > a > span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 22px !important;
    width: auto !important;
    height: 22px !important;
    padding: 0 7px !important;
    margin: 0 !important;
    border-radius: 12px !important;
    background: #0a5ca8 !important;
    color: #ffffff !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 22px !important;
    box-sizing: border-box !important;
    text-align: center !important;
	right: -15px;
}

.single-product .woocommerce-tabs ul.tabs.wc-tabs li#tab-title-reviews > a {
    gap: 5px !important;
}

#page .woocommerce-tabs ul.tabs li a span {
    top: 10px;
}

/* Mobiel */
@media (max-width: 767px) {
	
	.single-product .woocommerce-tabs ul.tabs.wc-tabs {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 6px !important;
        width: 100% !important;
        margin: 0 0 24px !important;
        padding: 0 !important;
        border: 0 !important;
    }

    .single-product .woocommerce-tabs ul.tabs.wc-tabs li {
        display: flex !important;
        align-items: center !important;
        width: auto !important;
        float: none !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }

    .single-product .woocommerce-tabs ul.tabs.wc-tabs li a {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        height: 38px !important;
        box-sizing: border-box !important;
        margin: 0 !important;
        padding: 0 13px !important;
        border-radius: 7px !important;
        font-size: 14px !important;
        line-height: 1 !important;
        font-weight: 600 !important;
        white-space: nowrap !important;
        text-decoration: none !important;
    }

    /* Actieve tab */
    .single-product .woocommerce-tabs ul.tabs.wc-tabs li.active a {
        background: #eef5fb !important;
        color: #0a5ca8 !important;
    }

    /* Niet-actieve tab */
    .single-product .woocommerce-tabs ul.tabs.wc-tabs li:not(.active) a {
        background: transparent !important;
        color: #333 !important;
    }

    /* Geen extra underline */
    .single-product .woocommerce-tabs ul.tabs.wc-tabs li.active a::after {
        display: none !important;
    }

    /* Review badge */
    .single-product .woocommerce-tabs ul.tabs.wc-tabs li#tab-title-reviews > a > span {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 21px !important;
        width: auto !important;
        height: 21px !important;
        margin: 0 0 0 5px !important;
        padding: 0 6px !important;
        border-radius: 11px !important;
        background: #0a5ca8 !important;
        color: #fff !important;
        font-size: 10px !important;
        font-weight: 700 !important;
        line-height: 21px !important;
        box-sizing: border-box !important;
		top: 0px;
		right: -15px;
    }

    .single-product .woocommerce-tabs ul.tabs.wc-tabs li#tab-title-reviews > a {
        gap: 0 !important;
    }

    .single-product .woocommerce-tabs {
        margin-top: 28px;
    }

    .single-product .woocommerce-tabs ul.tabs.wc-tabs {
        gap: 4px;
        margin-bottom: 22px !important;
    }

    .single-product .woocommerce-tabs ul.tabs.wc-tabs li a {
        padding: 9px 13px 10px !important;
        font-size: 14px !important;
    }
}

/* ============================================================
 * REVIEW OVERZICHT
 * ============================================================ */

.single-product #reviews .hjp-review-summary {
    display: grid;
    grid-template-columns: 165px 1fr;
    gap: 28px;
    align-items: center;
    margin: 0 0 28px;
    padding: 22px 24px;
    background: #f8fafc;
    border: 1px solid #e5eaf0;
    border-radius: 10px;
}

/* Gemiddelde rating */
.single-product #reviews .hjp-review-summary-score {
    text-align: center;
    padding-right: 28px;
    border-right: 1px solid #e1e6eb;
}

.single-product #reviews .hjp-review-average {
    color: #222;
    font-size: 32px;
    font-weight: 700;
    line-height: 1;
}

.single-product #reviews .hjp-review-stars {
    margin-top: 7px;
    color: #e0a528;
    font-size: 17px;
    letter-spacing: 1px;
    line-height: 1;
}

.single-product #reviews .hjp-review-total {
    margin-top: 7px;
    color: #777;
    font-size: 12px;
}


/* Sterrenverdeling */
.single-product #reviews .hjp-review-summary-bars {
    display: flex;
    flex-direction: column;
    gap: 6px;
    max-width: 760px;
}

.single-product #reviews .hjp-review-bar-row {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr) 24px;
    align-items: center;
    gap: 8px;
}

.single-product #reviews .hjp-review-bar-label {
    color: #444;
    font-size: 12px;
    font-weight: 600;
    text-align: left;
    white-space: nowrap;
}

.single-product #reviews .hjp-review-bar {
    height: 6px;
    overflow: hidden;
    border-radius: 10px;
    background: #e1e5e9;
}

.single-product #reviews .hjp-review-bar span {
    display: block;
    height: 100%;
    border-radius: 10px;
    background: #0a5ca8;
}

.single-product #reviews .hjp-review-bar-count {
    color: #777;
    font-size: 12px;
    text-align: right;
}

/* ============================================================
 * REVIEW SORTERING
 * ============================================================ */

.single-product #reviews .hjp-review-sorting {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin: 0 0 15px;
}

.single-product #reviews .hjp-review-sorting label {
    margin: 0 !important;
    color: #777;
    font-size: 12px;
    font-weight: 500;
	width: 10%;
}

.single-product #reviews .hjp-review-sorting select {
    height: 38px;
    min-width: 175px;
    margin: 0 !important;
    padding: 0 32px 0 11px !important;
    border: 1px solid #dfe4e8 !important;
    border-radius: 7px !important;
    background-color: #fff !important;
    color: #333 !important;
    font-size: 13px !important;
    font-weight: 500;
    cursor: pointer;
    box-shadow: none !important;
}

.single-product #reviews .hjp-review-sorting select:focus {
    border-color: #0a5ca8 !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(10, 92, 168, 0.08) !important;
}


/* ============================================================
 * MOBIEL
 * ============================================================ */

@media (max-width: 767px) {

    .single-product #reviews .hjp-review-sorting {
        justify-content: space-between;
        margin-bottom: 15px;
    }

    .single-product #reviews .hjp-review-sorting select {
        min-width: 160px;
        height: 36px;
    }
}


/* ============================================================
 * MOBIEL
 * ============================================================ */

@media (max-width: 767px) {

    .single-product #reviews .hjp-review-summary {
        grid-template-columns: 1fr;
        gap: 18px;
        padding: 20px 18px;
    }

    .single-product #reviews .hjp-review-summary-score {
        padding-right: 0;
        padding-bottom: 18px;
        border-right: 0;
        border-bottom: 1px solid #e1e6eb;
    }

    .single-product #reviews .hjp-review-average {
        font-size: 30px;
    }

    .single-product #reviews .hjp-review-stars {
        font-size: 17px;
    }

    .single-product #reviews .hjp-review-summary-bars {
        max-width: none;
        gap: 6px;
    }
}

/* =========================================================
   TAB CONTENT
   ========================================================= */

.woocommerce-tabs .woocommerce-Tabs-panel {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================================
   LINKER KOLOM
   ========================================================= */

.hjp-product-description {
    min-width: 0;
    width: 100%;
}

.hjp-product-description > h2:first-child {
    display: none;
}

.hjp-product-description p {
    max-width: none;
}


/* =========================================================
   RECHTER KOLOM
   ========================================================= */

.hjp-product-quick-specs {
    width: 100%;
    box-sizing: border-box;
    /*background: #f6f8fa;
    border: 1px solid #e5e8eb;*/
	background: #eef5fb;
    border: 1px solid #f7f7f7;
    border-radius: 6px;
    padding: 25px;
}

.hjp-product-quick-specs h3 {
    margin: 0 0 20px;
    color: #000;
    font-size: 20px;
    line-height: 1.3;
} 

/* =========================================================
   SPECIFICATIES
   ========================================================= */

.hjp-quick-spec-row {
	display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
    padding: 12px 0;
    font-size: 14px;
    line-height: 1.4;
}

.hjp-quick-spec-label {
    font-weight: 600;
    color: #202b36;
}

.hjp-quick-spec-value {
    color: #59636d;
}

/* =========================================================
   LEGE SPECIFICATIES VERBERGEN
   ========================================================= */

.hjp-product-quick-specs:not(:has(.hjp-quick-spec-row)) {
    display: none !important;
}


/* =========================================================
   BESCHRIJVING VOLLEDIGE BREEDTE ALS SPECIFICATIES LEEG ZIJN
   ========================================================= */

.hjp-product-description-layout:not(:has(.hjp-quick-spec-row)) {
    grid-template-columns: minmax(0, 1fr) !important;
}

/* Beschrijving benut volledige breedte */
.hjp-product-description-layout:not(:has(.hjp-quick-spec-row))
.hjp-product-description {
    width: 100% !important;
    max-width: none !important;
}


/* =========================================================
   MOBIEL
   ========================================================= */

@media (max-width: 768px) {

    .woocommerce-tabs.wc-tabs-wrapper {
        width: calc(100% - 30px) !important;
        max-width: none !important;
    }

    .hjp-product-description-layout {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .hjp-product-quick-specs {
        padding: 20px;
    }

}

.woocommerce-tabs .tabs li a:after {
    border: none;
}

.single-product .content-area,
.single-product .site-main {
    background-color: #fff !important;
}

.summary.entry-summary {
    border: 1px solid #e7e7e7;
    border-radius: 2px;
    padding: 20px 25px;
    width: 100% !important;
    margin-bottom: 15px !important;
}

ul.products li.product .woocommerce-loop-product__title,
ul.products li.product h2 {
    height: 50px;
}

/* Product tabs */
.woocommerce-tabs table th {
    font-weight: 600;
}

#secondary .widget ul li a {
    text-align: center !important;
    min-width: 60px;
}

.yith-wcan-filters .yith-wcan-filter .filter-items .filter-item.color .term-label {
    font-size: 0.7em;
}

/* SINGLE PRODUCT TITLE */
.single-product h1 {
    font-family: 'Source Sans Pro', 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
    color: #000;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.2;
}

/* PRODUCT LAYOUT */
.product-details-wrapper {
    display: flex !important;
    flex-wrap: wrap;
    gap: 30px;
	margin-top: 30px;
}

.columnRight {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px;
    margin-left: auto;
    width: 48%;
}

.woocommerce-tabs.wc-tabs-wrapper {
    width: 100% !important;
}

@media (max-width: 992px) {
    .columnRight {
        width: 100%;
    }
}

p.product__categories {
    text-align: left;
}

.pswp__bg {
    opacity: 0.8 !important;
}

body.single-product div.product form.cart {
    margin-top: 45px;
}

.woocommerce-tabs table {
    width: 100% !important;
}

.woocommerce-tabs table tr:nth-child(even) {
    background-color: #03498f12;
}

ol.flex-control-nav.flex-control-thumbs li {
    border: 1px solid #eee;
    border-radius: 10px;
    padding: 10px;
}

ol.flex-control-nav.flex-control-thumbs li:has(img.flex-active) {
	border: 1px solid #03498f !Important;
}

/* ==========================================================
   HULP NODIG BIJ JE KEUZE
   Productpagina CTA
   ========================================================== */

.hjp-help-box {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    min-height: 175px !important;
    margin: 0 !important;
    padding: 25px 28px !important;
    box-sizing: border-box !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    background-image:
        linear-gradient(
            90deg,
            rgba(0, 0, 0, 0.88) 0%,
            rgba(0, 0, 0, 0.72) 55%,
            rgba(0, 0, 0, 0.50) 100%
        ),
        url("https://hjpdev.nl/wp-content/uploads/2026/09/Hulp-nodig-bij-je-keuze.png") !important;
    background-position: center center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
	margin-top: 30px ! Important;
	border-left: 3px solid #ffc400 !important;
}

/* ----------------------------------------------------------
   TITEL
   ---------------------------------------------------------- */

.hjp-help-box h3 {
    display: block !important;
    position: relative !important;
    width: auto !important;
    height: auto !important;
	margin: 0 0 10px 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    color: #ffffff !important;
    font-family: 'Source Sans Pro', 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
    font-size: 22px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    text-align: left !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.45) !important;
}

/* ----------------------------------------------------------
   OMSCHRIJVING
   ---------------------------------------------------------- */

.hjp-help-box > p {
    display: block !important;
    position: relative !important;
    width: auto !important;
    max-width: 520px !important;
    height: auto !important;
    margin: 0 0 18px 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    color: #ffffff !important;
    font-family: inherit !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    font-weight: 400 !important;
    text-align: left !important;
    letter-spacing: 0 !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.45) !important;
}

/* ==========================================================
   HJP - GELE CONTACT BUTTON
   ========================================================== */

.hjp-help-box .advies-btn.button.alt {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
	width: auto ! Important;
    max-width: 100% !important;
    height: 52px !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
    background: #ffc400 !important;
    border: 1px solid #ffc400 !important;
    border-radius: 7px !important;
    color: #111111 !important;
    font-family: inherit !important;
    font-size: 14px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
    float: none !important;
    clear: none !important;
    cursor: pointer !important;
}


/* Tekst */

.hjp-help-box .advies-btn-text {
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #111111 !important;
    font-size: 14px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
}

/* Pijl */

.hjp-help-box .advies-btn-arrow {
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 0 0 10px !important;
    padding: 0 !important;
    color: #111111 !important;
    font-size: 20px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    position: relative !important;
    top: -1px !important;
}


/* Hover */

.hjp-help-box .advies-btn.button.alt:hover {
    background: #ffd329 !important;
    border-color: #ffd329 !important;
    color: #111111 !important;
}

.hjp-help-box .advies-btn.button.alt:hover .advies-btn-text,
.hjp-help-box .advies-btn.button.alt:hover .advies-btn-arrow {
    color: #111111 !important;
}


/* Shoptimizer pseudo-elementen uitschakelen */

.hjp-help-box .advies-btn.button.alt::before,
.hjp-help-box .advies-btn.button.alt::after {
    display: none !important;
    content: none !important;
}


/* ----------------------------------------------------------
   HOVER
   ---------------------------------------------------------- */

.hjp-help-box .hjp-help-phone:hover {
    background: #ffd329 !important;
    border-color: #ffd329 !important;
    color: #111111 !important;
}


/* ----------------------------------------------------------
   TABLET
   ---------------------------------------------------------- */

@media (max-width: 900px) {

    .hjp-help-box {
        padding: 24px 24px !important;
    }

    .hjp-help-box h3 {
        font-size: 21px !important;
    }
}


/* ----------------------------------------------------------
   MOBIEL
   ---------------------------------------------------------- */

@media (max-width: 600px) {

    .hjp-help-box {
        min-height: auto !important;

        padding: 22px 20px !important;

        border-radius: 9px !important;
    }

    .hjp-help-box h3 {
        font-size: 20px !important;
        line-height: 1.3 !important;

        margin-bottom: 8px !important;
    }

    .hjp-help-box > p {
        max-width: none !important;

        font-size: 14px !important;
        line-height: 1.5 !important;

        margin-bottom: 16px !important;
    }

    .hjp-help-box .hjp-help-phone {
        height: 52px !important;
        min-height: 52px !important;
    }
}


/* ----------------------------------------------------------
   KLEINE MOBIELEN
   ---------------------------------------------------------- */

@media (max-width: 400px) {

    .hjp-help-box {
        padding: 20px 16px !important;
    }

    .hjp-help-box h3 {
        font-size: 19px !important;
    }

    .hjp-help-box > p {
        font-size: 13px !important;
    }
}

/* EINDE INFO BLOK */

/* ==========================================================
   HJP - USP BLOK PRODUCTPAGINA
   ========================================================== */

.usp-product-page {

    position: relative !important;
    overflow: hidden !important;
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 20px 22px 17px !important;
    box-sizing: border-box !important;
    background-image:
        linear-gradient(
            90deg,
            rgba(247, 249, 252, 0.97) 0%,
            rgba(247, 249, 252, 0.92) 45%,
            rgba(247, 249, 252, 0.72) 100%
        ),
        url("https://hjpdev.nl/wp-content/uploads/2026/09/Waarom-horecajenp.png") !important;
    background-position: center center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    border: 0 !important;
    border-radius: 0 !important;
	border-radius: 10px !important;
	border-left: 3px solid #0a5ca8 !important;
}


/* ----------------------------------------------------------
   DECORATIEF HORECA-ICOON
   ---------------------------------------------------------- */

.usp-product-page__icon {
    position: absolute !important;
    right: 18px !important;
    top: 12px !important;
    width: 145px !important;
    height: 145px !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: .055 !important;
    pointer-events: none !important;
}

.usp-product-page__icon svg {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    fill: none !important;
    stroke: #111111 !important;
    stroke-width: 3 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}


/* ----------------------------------------------------------
   TITEL
   ---------------------------------------------------------- */

.usp-product-page h3 {
    position: relative !important;
    display: block !important;
    margin: 0 0 19px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    color: #111111 !important;
    font-size: 16px !important;
    line-height: 1.3 !important;
    font-weight: 800 !important;
    text-align: left !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
	font-family: 'Source Sans Pro', 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
    font-size: 22px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
}


/* ----------------------------------------------------------
   LIJST - 2 KOLOMMEN
   ---------------------------------------------------------- */

.usp-product-page ul {
	display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    column-gap: 30px !important;
    row-gap: 15px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    margin-top: 25px ! Important;
    margin-bottom: 20px ! Important;
}


/* ----------------------------------------------------------
   USP ITEMS
   ---------------------------------------------------------- */

.usp-product-page li {
    position: relative !important;
    display: block !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 0 0 28px !important;
    background: transparent !important;
    border: 0 !important;
    color: #000000 !important;
    font-size: 14px !important;
    line-height: 21px !important;
    font-weight: 400 !important;
    text-align: left !important;
}


/* ----------------------------------------------------------
   BLAUW ROND VINKJE
   ---------------------------------------------------------- */

.usp-product-page li::before {
    content: "✓" !important;
    position: absolute !important;
    left: 0 !important;
    top: 2px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 17px !important;
    height: 17px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
	background: #0a5ca8 !important;
    border-radius: 50% !important;
    color: #ffffff !important;
    font-family: Arial, sans-serif !important;
    font-size: 10px !important;
    line-height: 17px !important;
    font-weight: 700 !important;
    text-align: center !important;
}

/* ----------------------------------------------------------
   TABLET
   ---------------------------------------------------------- */

@media (max-width: 900px) {

    .usp-product-page {
        padding: 19px 20px 16px !important;
    }

    .usp-product-page ul {
        column-gap: 20px !important;
    }

    .usp-product-page__icon {
        right: 10px !important;
        opacity: .045 !important;
    }
}


/* ----------------------------------------------------------
   MOBIEL
   ---------------------------------------------------------- */

@media (max-width: 600px) {

    .usp-product-page {
        min-height: auto !important;
        padding: 22px 20px !important;
    }

    .usp-product-page h3 {
        font-size: 20px !important;
        margin-bottom: 17px !important;
    }

    .usp-product-page ul {
        grid-template-columns: 1fr !important;
        row-gap: 8px !important;
    }

    .usp-product-page li {
        font-size: 14px !important;
        line-height: 20px !important;
    }
}


/* RELATED PRODUCTS */
section.related-wrapper {
    width: 100%;
}

/* =========================================================
   USP / BOVEN FOOTER
   ========================================================= */

/* ---------------------------------------------------------
   1. VOLLEDIGE USP-BAR
   --------------------------------------------------------- */

.below-content {
    background: #f7f9fc !important;
    padding-top: 20px !important;
    padding-bottom: 20px !important;
	border: none;
}

/* ---------------------------------------------------------
   2. CONTAINER MET 4 WIDGETS
   --------------------------------------------------------- */

.below-content > .col-full {
    display: flex !important;
    align-items: stretch !important;
    width: 100% !important;
}

/* ---------------------------------------------------------
   3. INDIVIDUELE USP WIDGETS
   --------------------------------------------------------- */

.below-content > .col-full > .widget_custom_html {
    position: relative !important;
    width: 25% !important;
    margin: 0 !important;
    padding: 2px 30px 4px !important;
    box-sizing: border-box !important;
    text-align: center !important;
}

/* ---------------------------------------------------------
   5. OUDE WIDGETTITELS VERBERGEN
   --------------------------------------------------------- */

.below-content .widget_custom_html > .widget-title {
    display: none !important;
}

/* ---------------------------------------------------------
   6. ICONEN
   --------------------------------------------------------- */

.below-content .widget_custom_html i.usp {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 54px !important;
    height: 54px !important;
    margin: 0 auto 10px !important;
    border-radius: 50% !important;
    background: #eaf2fb !important;
    color: #0a5ca8 !important;
    font-size: 27px !important;
    line-height: 1 !important;
    text-align: center !important;
}

/* ---------------------------------------------------------
   7. TEKSTBLOK
   --------------------------------------------------------- */

.below-content .widget_custom_html i.usp + p {
    display: block !important;
    width: 100% !important;
    max-width: 285px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    color: #4b5d70 !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    text-align: center !important;
	padding-top: 10px !important;
}

/* ---------------------------------------------------------
   8. TITEL
   --------------------------------------------------------- */

.below-content .widget_custom_html i.usp + p strong {
    display: block !important;
    margin: 0 0 2px !important;
    color: #0f2f55 !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
    font-weight: 600 !important;
}

/* ---------------------------------------------------------
   9. TABLET
   --------------------------------------------------------- */

@media (max-width: 900px) {

    .below-content > .col-full > .widget_custom_html {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .below-content .widget_custom_html i.usp + p {
        max-width: 250px !important;
    }
}

/* ---------------------------------------------------------
   10. MOBIEL / TABLET
   --------------------------------------------------------- */

@media (max-width: 767px) {

    .below-content {
        padding-top: 28px !important;
        padding-bottom: 28px !important;
    }

    .below-content > .col-full {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        row-gap: 28px !important;
    }

    .below-content > .col-full > .widget_custom_html {
        width: 100% !important;
        padding: 0 15px !important;
    }

    /* Geen verticale lijn tussen onderste rij */
    .below-content > .col-full > .widget_custom_html:nth-child(3) {
        border-left: none !important;
    }

    /* Horizontale scheiding tussen de rijen */
    .below-content > .col-full > .widget_custom_html:nth-child(3),
    .below-content > .col-full > .widget_custom_html:nth-child(4) {
        padding-top: 25px !important;
        border-top: 1px solid #dfe6ee !important;
    }
}

/* ---------------------------------------------------------
   11. KLEINE MOBIELE SCHERMEN
   --------------------------------------------------------- */

@media (max-width: 480px) {

    .below-content {
        padding-top: 26px !important;
        padding-bottom: 26px !important;
    }

    .below-content > .col-full {
        display: grid !important;
        grid-template-columns: 1fr !important;
        row-gap: 0 !important;
    }

    .below-content > .col-full > .widget_custom_html {
        width: 100% !important;
        padding: 20px 20px !important;
        border-left: none !important;
        border-top: 1px solid #dfe6ee !important;
    }

    .below-content > .col-full > .widget_custom_html:first-child {
        padding-top: 0 !important;
        border-top: none !important;
    }
}

/* =================================
   HJP - TOOLBAR / SORTING /
   PAGINATION CATEGORIEPAGINA
   ================================= */


/* ================================
   BASIS TOOLBAR
   ================================ */

.shoptimizer-sorting {
    position: relative !important;

    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;

    width: 100% !important;
    min-height: 68px !important;

    margin: 0 0 52px !important;
    padding: 10px 14px !important;

    box-sizing: border-box !important;

    background: #f8f9fb !important;
    border-radius: 12px !important;
}


/* Lege notices */
.shoptimizer-sorting .woocommerce-notices-wrapper {
    display: none !important;
}


/* ================================
   SORTERING
   ================================ */

.shoptimizer-sorting .woocommerce-ordering {
    position: relative !important;

    grid-column: 1 !important;
    grid-row: 1 !important;

    display: flex !important;
    align-items: center !important;

    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;

    top: 0 !important;
}


/* "Sorteren op" */
.shoptimizer-sorting .woocommerce-ordering::before {
    content: "Sorteren op" !important;

    display: flex !important;
    align-items: center !important;

    height: 42px !important;

    margin: 0 10px 0 0 !important;
    padding: 0 !important;

    color: #0f2f55 !important;

    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 700 !important;

    white-space: nowrap !important;
}


/* Dropdown */
.shoptimizer-sorting .woocommerce-ordering select.orderby {
    display: block !important;

    width: 260px !important;
    min-width: 260px !important;
    max-width: 260px !important;

    height: 42px !important;

    margin: 0 !important;
    padding: 0 38px 0 14px !important;

    box-sizing: border-box !important;

    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;

    background: #ffffff !important;

    border: 1px solid #e4e4e4 !important;
    border-radius: 8px !important;

    color: #263746 !important;

    font-family: inherit !important;
    font-size: 13px !important;
    line-height: 42px !important;
    font-weight: 500 !important;

    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05) !important;

    cursor: pointer !important;

    outline: none !important;
}


/* Dropdown pijl */
.shoptimizer-sorting .woocommerce-ordering::after {
    content: "" !important;

    position: absolute !important;

    right: 15px !important;
    top: 50% !important;

    width: 7px !important;
    height: 7px !important;

    margin-top: -5px !important;

    border-right: 2px solid #0a5ca8 !important;
    border-bottom: 2px solid #0a5ca8 !important;

    transform: rotate(45deg) !important;

    pointer-events: none !important;
}


/* ================================
   PAGINATION CONTAINER
   ================================ */

.shoptimizer-sorting .woocommerce-pagination {
    grid-column: 2 !important;
    grid-row: 1 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;

    width: auto !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    position: relative !important;

    top: 0 !important;
}


/* ================================
   PAGINATION UL
   ================================ */

.shoptimizer-sorting .woocommerce-pagination ul.page-numbers {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;

    width: auto !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    gap: 5px !important;

    border: 0 !important;

    list-style: none !important;
}


/* ================================
   PAGINATION LI
   ================================ */

.shoptimizer-sorting .woocommerce-pagination ul.page-numbers li {
    display: block !important;

    width: auto !important;
    height: auto !important;

    flex: 0 0 auto !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;

    list-style: none !important;
}


/* ================================
   PAGINATION LINKS / NUMMERS
   ================================ */

.shoptimizer-sorting .woocommerce-pagination ul.page-numbers li a.page-numbers,
.shoptimizer-sorting .woocommerce-pagination ul.page-numbers li span.page-numbers {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;

    height: 36px !important;
    min-height: 36px !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;

    background: #ffffff !important;

    border: 1px solid #e1e6eb !important;
    border-radius: 7px !important;

    color: #4c5d6d !important;

    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 600 !important;

    text-align: center !important;
    text-decoration: none !important;

    box-shadow: none !important;

    transition:
        background .15s ease,
        border-color .15s ease,
        color .15s ease !important;
}


/* Actieve pagina */
.shoptimizer-sorting .woocommerce-pagination ul.page-numbers li span.page-numbers.current {
    background: #0a5ca8 !important;
    border-color: #0a5ca8 !important;

    color: #ffffff !important;

    box-shadow: 0 2px 6px rgba(10, 92, 168, 0.18) !important;
}


/* Hover */
.shoptimizer-sorting .woocommerce-pagination ul.page-numbers li a.page-numbers:hover {
    background: #eaf2fb !important;
    border-color: #c9dcec !important;

    color: #0a5ca8 !important;
}


/* Volgende */
.shoptimizer-sorting .woocommerce-pagination ul.page-numbers li a.next {
    font-size: 17px !important;
    font-weight: 400 !important;
}


/* ================================
   PRODUCT COUNT
   ================================ */

.shoptimizer-sorting .woocommerce-result-count {
    position: absolute !important;

    right: 0 !important;
    top: calc(100% + 7px) !important;

    width: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #526477 !important;

    font-size: 12px !important;
    line-height: 1.4 !important;
    font-weight: 500 !important;

    text-align: right !important;

    white-space: nowrap !important;
}


/* ================================
   HOVER DROPDOWN
   ================================ */

.shoptimizer-sorting .woocommerce-ordering select.orderby:hover {
    border-color: #cbd9e5 !important;
}


/* ================================
   FOCUS DROPDOWN
   ================================ */

.shoptimizer-sorting .woocommerce-ordering select.orderby:focus {
    border-color: #0a5ca8 !important;

    box-shadow:
        0 0 0 3px rgba(10, 92, 168, 0.08),
        0 2px 6px rgba(0, 0, 0, 0.05) !important;

    outline: none !important;
}


/* ================================
   GEEN PAGINATION
   ================================ */

.shoptimizer-sorting:not(:has(.woocommerce-pagination)) {
    grid-template-columns: 1fr !important;
}


/* ================================
   ONDERSTE TOOLBAR
   ================================ */

.woocommerce-after-shop-loop .shoptimizer-sorting {
    margin-top: 30px !important;
}


/* ================================
   MOBILE
   ================================ */

@media (max-width: 768px) {

    .shoptimizer-sorting {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;

        gap: 12px !important;

        min-height: auto !important;

        padding: 12px !important;

        margin-bottom: 50px !important;
    }


    /* Sortering */
    .shoptimizer-sorting .woocommerce-ordering {
        width: 100% !important;

        display: flex !important;
        align-items: center !important;

        grid-column: auto !important;
        grid-row: auto !important;
    }


    .shoptimizer-sorting .woocommerce-ordering select.orderby {
        flex: 1 1 auto !important;

        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
    }


    /* Pagination */
    .shoptimizer-sorting .woocommerce-pagination {
        width: 100% !important;

        grid-column: auto !important;
        grid-row: auto !important;

        justify-content: flex-start !important;
    }


    .shoptimizer-sorting .woocommerce-pagination ul.page-numbers {
        justify-content: flex-start !important;

        flex-wrap: wrap !important;
    }


    /* Count */
    .shoptimizer-sorting .woocommerce-result-count {
        right: 0 !important;
        top: calc(100% + 7px) !important;

        font-size: 11px !important;
    }

}

/* =================================
   HJP - PIJL IN DROPDOWN
   ================================= */

/* Oude pijl van de form verwijderen */
.shoptimizer-sorting .woocommerce-ordering::after {
    display: none !important;
    content: none !important;
}

/* Pijl rechtstreeks in de select */
.shoptimizer-sorting .woocommerce-ordering select.orderby {
    padding-right: 40px !important;

    background-color: #ffffff !important;

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' fill='none' stroke='%230a5ca8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;

    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    background-size: 12px 8px !important;
}

/* =================================
   HJP - VERBERG LEGE SORTING BALK
   ================================= */

.shoptimizer-sorting:not(:has(.woocommerce-ordering)):not(:has(.woocommerce-pagination)) {
    display: none !important;
}


/* ======================================================
   6. PRODUCT BADGES
====================================================== */

.lit-badge {
    display: inline-block;
    padding: 4px 8px;
    margin-right: 6px;
    background-color: #03498f;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    border-radius: 4px;
    line-height: 1;
}

/* HJP productbadge */
.hjp-badge {
    position: static;
    display: inline-block;
    padding: 6px 12px;
    font-size: 12px;
    font-weight: 600;
    border-radius: 5px;
    color: #fff;
    z-index: auto;
    text-transform: inherit;
    letter-spacing: 0.4px;
    white-space: nowrap;
}

/* Productgallery als positioneringsgebied */
.single-product div.product .woocommerce-product-gallery {
    position: relative;
}

/* Badgepositie */
.single-product div.product .woocommerce-product-gallery .hjp-single-badge-wrap {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 20;
    margin: 0;
    padding: 0;
}

/* Badge zelf */
.single-product div.product .woocommerce-product-gallery .hjp-single-badge-wrap .hjp-badge {
    position: static;
}

/* Productgallery als positioneringsgebied */
.single-product div.product .woocommerce-product-gallery {
    position: relative;
}

/* Badge linksboven op de productfoto */
.single-product div.product .woocommerce-product-gallery .hjp-single-badge-wrap {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 20;
    margin: 0;
    padding: 0;
}

/* Badge binnen de wrapper */
.single-product div.product .woocommerce-product-gallery .hjp-single-badge-wrap .hjp-badge {
    position: static;
}

/* =========================================
   HJP BADGES - PRODUCTKAARTEN
   ========================================= */

ul.products li.product {
    position: relative;
}

ul.products li.product .hjp-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    right: auto;
    display: inline-block;
    width: auto;
    height: auto;
    padding: 6px 12px;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 600;
    border-radius: 5px;
    color: #fff;
    z-index: 20;
    white-space: nowrap;
    letter-spacing: 0.4px;
    margin: 0;
}


/* Verschillende varaties */
.hjp-badge--verhuur  { background: #dc9814; } /* Verhuur - geel */
.hjp-badge--offerte  { background: #f59e0b; } /* Offerte - oranje */
.hjp-badge--direct   { background: #16a34a; } /* Direct leverbar - groen */
.hjp-badge--sale     { background: #dc2626; } /* Aanbieding - rood */
.hjp-badge--populair { background: #03498f; } /* Populair - blauw */
.hjp-badge--opruiming { background: #000000; } /* Populair - blauw */



/* Zorg dat product image wrapper position relative is */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    position: relative;
}

/* Badge wrapper op single product */
.hjp-single-badge-wrap {
    //margin-bottom: 35px;
}

.hjp-single-badge-wrap:empty,
.content-area .summary .onsale,
span.onsale {
    display: none;
}

span.price-on-request {
    font-weight: 600;
    color: #666;
    background-color: #f8f9fb;
    padding: 10px;
    border-radius: 10px;
	font-size: 15px;
}

body .price ins {
    color: #dc2626 !important;
    font-weight: 600;
}

/* ======================================================
   7. VERHUUR MODULE
====================================================== */

/* Verhuurpagina layout */
.verhuur-wrapper {
    max-width: 1100px;
    margin: 60px auto;
    padding: 0 20px;
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 40px;
}

@media (max-width: 900px) {
    .verhuur-wrapper {
        grid-template-columns: 1fr;
    }
}

/* Linkerkolom overzicht */
.verhuur-summary {
    background: #fff;
    border-radius: 12px;
    padding: 30px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
}

.verhuur-summary h2 {
    margin: 0 0 8px;
    font-size: 26px;
}

.verhuur-subtitle {
    margin-bottom: 25px;
    color: #6b7280;
    font-size: 15px;
}

/* verhuurlijst */
.verhuur-lijst {
    list-style: none;
    margin: 0;
    padding: 0;
}

.verhuur-lijst li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 0;
    border-bottom: 1px solid #e5e7eb;
}

.verhuur-lijst li:last-child {
    border-bottom: none;
}

.verhuur-lijst span {
    font-weight: 500;
}

.verhuur-actions {
    display: flex;
    align-items: center;
    gap: 14px;
}

/* AAntal */
.verhuur-qty {
    display: flex;
    align-items: center;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    overflow: hidden;
}

.verhuur-qty button {
    background: #f9fafb;
    border: none;
    width: 36px;
    height: 36px;
    font-size: 18px;
    cursor: pointer;
}

.verhuur-qty input {
    width: 50px;
    border: none;
    text-align: center;
    font-size: 14px;
}

.verhuur-qty .qty-plus,
.verhuur-qty .qty-minus {
    color: #042c61;
	padding: 5px 0 0 5px;
}

.verhuur-qty .qty-plus:hover,
.verhuur-qty .qty-minus:hover {
    background-color: #eee;
}

/* Rechterkolom verhuurinformatie */
.verhuur-form {
    background: #f9fafb;
    border-radius: 12px;
    padding: 0;
}

.verhuur-form .wpforms-title {
    font-size: 22px;
    margin-bottom: 10px;
}

.verhuur-form .wpforms-description {
    font-size: 14px;
    color: #6b7280;
}

.verhuur-form input,
.verhuur-form textarea {
	border-radius: 5px !important;
    border: 1px solid #d1d5db !important;
    padding: 10px 12px !important;
    font-size: 14px;
}

.verhuur-form button[type=submit] {
    background: #111827 !important;
    border-radius: 8px !important;
    padding: 14px 20px !important;
    font-size: 15px !important;
}

.verhuur-form button[type=submit]:hover {
    background: #000 !important;
}

/* verhuur melding */
.verhuur-notice {
    background: #fff7ec;
    border-left: 4px solid #dc9814;
    padding: 16px 18px;
    margin: 25px 0 25px;
    font-size: 14px;
    color: #374151;
    line-height: 1.6;
    border-radius: 5px;
}

.verhuur-notice strong {
    color: #111827;
}

.verhuur-notice p {
    text-align: inherit;
}

/* verhuur toast / pop message */
.verhuur-toast {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    background: rgba(0, 0, 0, 0.35);
    opacity: 0;
    transition: opacity .25s ease;
}

.verhuur-toast.show {
    opacity: 1;
}

.verhuur-toast::before {
    content: attr(data-message);
    background: #111827;
    color: #fff;
    padding: 18px 24px;
    border-radius: 12px;
    font-size: 15px;
    line-height: 1.4;
    max-width: 90%;
    text-align: center;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.35);
    transform: scale(.95);
    transition: transform .25s ease;
}

.verhuur-toast.show::before {
    transform: scale(1);
}

.verhuur-toast.success::before {
    background: #065f46;
}

.verhuur-toast.info::before {
    background: #1f2937;
}

.verhuur-toast.error::before {
    background: #7f1d1d;
}

/* overige verhuur styling */
#verhuur-overzicht ul li:nth-child(odd) {
    background-color: #f9fafb;
}

.verhuur-datum-error,
.verhuur-regio-error {
    margin-top: 6px;
    font-size: 13px;
    color: #b91c1c;
    line-height: 1.4;
}

.verhuur-datum-error::before {
    content: "⚠ ";
}

.wpforms-submit.is-disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.verhuur-summary-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.verhuur-summary-list li {
    margin-bottom: 6px;
    font-size: 15px;
}

.verhuur-aanvraag-wrap {
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 0 24px;
}

.verhuur-samenvatting {
    border-radius: 10px;
    margin-bottom: 24px;
}

.verhuur-samenvatting h3 {
    margin: 0 0 10px;
    font-size: 18px;
}

/* Levering infoormatie vehruur */
.verhuur-levering-notice {
    margin-top: 20px;
    padding: 10px;
    font-size: 14px;
    border-radius: 5px;
}

.verhuur-levering-notice.warning {
    background: #fff7ed;
    border: 1px solid #fdba74;
    color: #9a3412;
}

.verhuur-levering-notice.success {
    background: #ecfdf5;
    border: 1px solid #6ee7b7;
    color: #065f46;
}

.verhuur-levering input[type=radio] {
    border: none !important;
    top: 0 !important;
}

/* Error message verhuur */
.verhuur-error {
    margin-bottom: 15px;
    padding: 12px 14px;
    border-radius: 6px;
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #991b1b;
    font-size: 14px;
}

/* ======================================================
   8. OFFERTE: OVERLAY & MODAL
====================================================== */

.offerte-overlay {
    position: fixed;
    inset: 0;
    background: rgba(15, 15, 20, 0.65);
    backdrop-filter: blur(3px);
    z-index: 9998;
    display: none;
}

.offerte-modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.96);
    background: #fff;
    padding: 32px 36px 36px;
    max-width: 620px;
    width: 92%;
    border-radius: 14px;
    z-index: 9999;
    display: none;

    /* premium look */
    box-shadow:
        0 10px 25px rgba(0, 0, 0, 0.15),
        0 30px 60px rgba(0, 0, 0, 0.25);

    transition: all 0.25s ease;
}

.offerte-modal form {
    border-top: 1px solid #eee;
    padding-top: 24px;
}

.offerte-close {
    position: absolute;
    top: 14px;
    right: 16px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #f2f2f2;
    color: #333;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    cursor: pointer;
    transition: background 0.2s ease;
    z-index: 10000;
}

.offerte-close:hover {
    background: #e6e6e6;
}

.offerte-title {
    margin: 0 0 8px;
    font-size: 26px;
    font-weight: 600;
    letter-spacing: -0.3px;
}

.offerte-intro {
    margin: 0 0 24px;
    font-size: 15px;
    line-height: 1.6;
    color: #555;
}

.wp-product-id {
    display: none;
}

.wp-product-name,
.wp-product-variation,
.wp-product-url,
.wp-product-id {
    display: none !important;
}

.wpforms-field.verhuur-producten {
    display: none;
}

.wpforms-container input.wpforms-field-medium,
.wpforms-container select.wpforms-field-medium,
.wpforms-container .wpforms-field-row.wpforms-field-medium,
.wp-core-ui div.wpforms-container input.wpforms-field-medium,
.wp-core-ui div.wpforms-container select.wpforms-field-medium,
.wp-core-ui div.wpforms-container .wpforms-field-row.wpforms-field-medium {
    max-width: 100% !important;
}


/* ======================================================
   9. Contact
====================================================== */

.hjp-contact-kaart-titel {
    position: relative !important;
    margin: 0 !important;
    padding-left: 14px !important;
}

.hjp-contact-kaart-titel::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 2px !important;
    width: 4px !important;
    height: calc(100% - 4px) !important;
    border-radius: 4px !important;
    background: #fdc300 !important;
}

.quote-tekst {
	padding: 15px 28px 0px 30px;
    background: #f3f7fc;
    border-left: 4px solid #00529c;
    border-radius: 6px;
    color: #152238;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.04);
    box-sizing: border-box;
	margin: 0px 0px 15px 0px !important;
}

.contactgegevens-vestiging p {
	margin-bottom: 0px !Important;
}

/* Algemene formulieropbouw */
.hjp-contact-form {
    width: 100%;
}

.hjp-contact-form form {
    width: 100%;
}

/* Rij met 2 velden */
.hjp-contact-form .hjp-form-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 20px !important;
    width: 100% !important;
    margin: 0 0 20px !important;
}

/* Halve kolommen */
.hjp-contact-form .hjp-form-half {
    flex: 1 1 calc(50% - 10px) !important;
    width: calc(50% - 10px) !important;
    min-width: 0 !important;
}

/* Labels */
.hjp-contact-form label {
    display: block !important;
    margin: 0 !important;
    color: #101820 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
}

/* Inputs, select en textarea */
.hjp-contact-form input[type="text"],
.hjp-contact-form input[type="email"],
.hjp-contact-form input[type="tel"],
.hjp-contact-form select,
.hjp-contact-form textarea {
    display: block !important;
    width: 100% !important;
    margin: 7px 0 0 !important;
    padding: 12px 14px !important;
    border: 1px solid #dfe4e9 !important;
    border-radius: 7px !important;
    background: #ffffff !important;
    color: #101820 !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    box-shadow: none !important;
    outline: none !important;
    transition: border-color .2s ease, box-shadow .2s ease !important;
}

/* Hoogte gewone velden */
.hjp-contact-form input[type="text"],
.hjp-contact-form input[type="email"],
.hjp-contact-form input[type="tel"],
.hjp-contact-form select {
    height: 46px !important;
}

/* Tekstveld */
.hjp-contact-form textarea {
    min-height: 150px !important;
    resize: vertical !important;
}

/* Focus */
.hjp-contact-form input[type="text"]:focus,
.hjp-contact-form input[type="email"]:focus,
.hjp-contact-form input[type="tel"]:focus,
.hjp-contact-form select:focus,
.hjp-contact-form textarea:focus {
    border-color: #03498f !important;
    box-shadow: 0 0 0 3px rgba(3, 73, 143, 0.08) !important;
}

/* Onderwerp */
.hjp-contact-form select {
    cursor: pointer !important;
}

/* Vraagveld */
.hjp-contact-form > label {
    display: block !important;
    margin: 0 0 20px !important;
}

/* Honeypot volledig verbergen */
.hjp-contact-form .hjp-honeypot {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Verzendknop */
.hjp-contact-form input[type="submit"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 22px !important;
    border: 0 !important;
    border-radius: 7px !important;
    background: #03498f !important;
    color: #ffffff !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    box-shadow: none !important;
    transition: background-color .2s ease, transform .2s ease !important;
}

/* Verzendknop hover */
.hjp-contact-form input[type="submit"]:hover {
    background: #023d78 !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
}

/* Validatiefout */
.hjp-contact-form .wpcf7-not-valid {
    border-color: #d64545 !important;
}

.hjp-contact-form .wpcf7-not-valid-tip {
    margin-top: 5px !important;
    color: #d64545 !important;
    font-size: 12px !important;
}

/* =========================================================
	Contactform melding
   ========================================================= */

.wp-product-sku {
    display: none !important;
}

.hjp-contact-form .wpcf7-response-output {
    margin: 20px 0 0 !important;
    padding: 14px 18px !important;
    border: 1px solid #dfe4e9 !important;
    border-radius: 7px !important;
    background: #ffffff !important;
    color: #536170 !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
}

.hjp-contact-form .wpcf7 form.sent .wpcf7-response-output {
    border-color: #b7dfc5 !important;
    background: #eefaf2 !important;
    color: #18753c !important;
}

/* Contactkaart gelijk uitlijnen met de vestigingskaarten */
.hjp-contactformulier-kaart {
    width: auto !important;
    margin-left: 20px !important;
    margin-right: 20px !important;
}

.contactVakken p {
	margin: 0 !Important;
}

/* =========================================================
   Mobiel
   ========================================================= */

@media (max-width: 700px) {

    .hjp-contact-form .hjp-form-row {
        display: block !important;
        margin-bottom: 0 !important;
    }

    .hjp-contact-form .hjp-form-half {
        width: 100% !important;
        margin-bottom: 20px !important;
    }

    .hjp-contact-form textarea {
        min-height: 140px !important;
    }

}

@media (max-width: 767px) {

    /* Vestigingen onder elkaar en volledig breed */
    .hjp-contact-vestigingen {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
    }

    .hjp-contact-vestigingen > .elementor-element {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }


    /* Contactformulier */
    .hjp-contactformulier-kaart {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }


    /* Bellen / E-mail / Advies */
    .hjp-contact-direct-grid {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        grid-template-columns: 1fr !important;
    }

    .hjp-contact-direct-grid > .elementor-element {
        width: 100% !important;
        max-width: 100% !important;
    }
}


/* =========================================================
   Openingstijden tabel
   ========================================================= */

/* HJP openingstijden */
.hjp-contact-openingstijd table.openingstijdenTbl {
    width: 100% !important;
    border: 0 !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
}

/* Elke rij */
.hjp-contact-openingstijd table.openingstijdenTbl tbody tr {
    border-bottom: 1px solid #edf1f5 !important;
}

/* Laatste rij */
.hjp-contact-openingstijd table.openingstijdenTbl tbody tr:last-child {
    border-bottom: 0 !important;
}

/* Alle cellen */
.hjp-contact-openingstijd table.openingstijdenTbl tbody tr td {
    padding: 8px 0 !important;
    border: 0 !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    vertical-align: middle !important;
}

/* Linkerkolom - dagen */
.hjp-contact-openingstijd table.openingstijdenTbl tbody tr td:first-child {
    color: #101820 !important;
    font-weight: 600 !important;
    text-align: left !important;
}

/* Rechterkolom - tijden */
.hjp-contact-openingstijd table.openingstijdenTbl tbody tr td:last-child {
    color: #536170 !important;
    font-weight: 400 !important;
    text-align: right !important;
}


/* ======================================================
   10. KENNISBANK
====================================================== */

.kennisbank-tabs button {
    padding: 10px 20px !important;
}

.kennisbank-tabs a,
.kennisbank-tabs .elementor-post__title a {
    border-bottom: none !important;
    color: #000;
    letter-spacing: normal !important;
}

.kennisbank-tabs .elementor-post__badge {
    background-color: #042C61F7;
    border-radius: 5px;
    font-family: "Source Sans Pro", Sans-serif;
    text-transform: none !important;
    font-style: normal !important;
    font-size: 14px !important;
}

.kennisbank-card-item .elementor-post__read-more:hover {
    background-color: #042c61;
}

.cms-table thead,
.tab-fustkoppelingen thead {
    background-color: #03498f;
}

.cms-table thead span,
.tab-fustkoppelingen thead {
    color: #fff !important;
}

.cms-table tr:nth-child(even),
.tab-fustkoppelingen tr:nth-child(even) {
    background-color: #03498f12;
}

.tab-fustkoppelingen thead th {
    padding: 10px 0 10px 5px;
}

.bekijk-meer a {
    color: #03498f !important;
    font-weight: 600 !important;
    margin-top: 10px;
}

.kennisbank-card-item .elementor-post__read-more {
    text-transform: none;
    background: #0b4e8a;
    color: #fff !important;
    padding: 10px 22px;
    border-radius: 5px;
    text-align: center;
}

/* Verwijder datum */
span.posted-on {
    display: none !important;
}

/* Verticale tabs FIX */
.vertical-tabs-fix {
    align-items: flex-start;
}

.vertical-tabs-fix .e-n-tabs-heading {
    align-self: flex-start;
    position: sticky;
    top: 120px;
}

.vertical-tabs-fix .e-n-tabs-content {
    align-self: flex-start;
}

/* Fustkoppelingen TAB SYSTEEM - ARTIKEL */
.tab-fustkoppelingen {
    border: 1px solid #e5e5e5;
    border-radius: 6px;
    margin: 40px 0;
}

/* SEARCH INPUT OP KENNISBANKPAGINA */
.keg-search-wrap {
    position: relative;
    background: linear-gradient(135deg, #f5f8fd, #eef3fb);
    border: 1px solid #d6e0f0;
    border-radius: 5px;
    padding: 18px 18px 16px;
    margin-bottom: 28px;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.06);
}

.keg-search-wrap::before {
    content: "Zoek in alle bierkoppelingen";
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #1f3b74;
    margin-bottom: 10px;
}

#globalKegSearch {
    width: 100%;
    font-size: 16px;
    border-radius: 5px;
    border: 1px solid #c7d4ee;
    background: #fff;
    color: #1f2937;
    transition: all .2s ease;
	padding: 5px 44px 5px 15px;
}

#globalKegSearch::placeholder {
    color: #6b7280;
}

#globalKegSearch:focus {
    outline: none;
    border-color: #2f6fed;
    box-shadow: 0 0 0 4px rgba(47, 111, 237, 0.18);
}

#kegSearchReset {
    position: absolute;
    right: 30px;
    top: 62%;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    border-radius: 5px;
    border: none;
    background: none;
    color: #b91c1c;
    font-size: 18px;
    cursor: pointer;
    display: none;
    line-height: 1;
}

body.keg-search-active .keg-search-wrap {
    background: linear-gradient(135deg, #e9f0ff, #f2f6ff);
    border-color: #2f6fed;
}

.keg-highlight {
    background: #fff2a8;
    padding: 0 3px;
    border-radius: 3px;
    font-weight: 600;
}

/* Category - layout */
.category .site-main {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.category article.post {
    position: relative;
    display: flex;
    align-items: stretch;
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    padding-bottom: 0;
}

.category .post-thumbnail {
    flex: 0 0 46%;
}

.category .post-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.category .blog-loop-content-wrapper {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 48px 48px 96px;
}

.blog-loop-content-wrapper {
    margin-top: 25px;
}

.category .entry-title {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 16px;
}

.category .entry-title a {
    color: #000;
    text-decoration: none;
    position: static;
}

.category .entry-title a:hover {
    color: #0b4e8a;
}

.category .posted-on {
    display: none;
}

.category .entry-content {
    flex-grow: 1;
}

.category .entry-content p {
    color: #6b7280;
    line-height: 1.6;
    max-width: 92%;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Lees meer button category */
.category .entry-title a::after {
	content: "Lees meer";
    position: absolute;
    right: 48px;
    bottom: 32px;
    background: #0b4e8a;
    color: #fff;
    padding: 10px 22px;
    border-radius: 6px;
    font-size: 0.9rem;
    font-weight: 600;
    white-space: nowrap;
}

.category article.post:hover .entry-title a::after {
    background: #093c6a;
}

/* Hero overlay kennisbank artikel */
.full-hero-overlay {
    position: relative;
    background-color: #f9fafb; /* fallback kleur */
    overflow: hidden;
}

.full-hero-overlay ul li {
    list-style: none;
}

/* Achtergrondlaag */
.full-hero-overlay::before {
    content: "";
    position: absolute;
    inset: 0;

    background-image: url('/wp-content/uploads/beer-texture-bg.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 0.18;
    z-index: 0;
}

/* Zorg dat tekst erboven blijft */
.full-hero-overlay > * {
    position: relative;
    z-index: 1;
}

/* MOBIELE INSTELLINGEN - KENNISBANK */
@media (max-width: 768px) {

    .blog-loop-content-wrapper {
        margin-top: 15px !important;
        padding: 0 0 25px 24px !important;
    }

    .category article.post {
        flex-direction: column;
    }

    .category .post-thumbnail {
        height: 150px;
        flex: none;
    }

    .category .entry-content p {
        -webkit-line-clamp: 3;
    }

    .category .entry-title a::after {
        content: none;
    }

    .category article.post .entry-title a::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 5;
    }

    .category article.post * {
        position: relative;
        z-index: 6;
    }
}

/* Pagination kennisbank en cateogriepagina */
.elementor-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin: 40px 0 20px;
}

.elementor-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 42px;
    padding: 0 14px;
    border-radius: 5px;
    font-size: 0.95rem;
    font-weight: 600;
    text-decoration: none;
    background: #f1f5f9;
    color: #1f2937;
    transition: all 0.2s ease;
}

.elementor-pagination a.page-numbers:hover {
    background: #e5eef7;
    color: #0b4e8a;
}

.elementor-pagination .page-numbers.current {
    background: #0b4e8a;
    color: #fff;
    cursor: default;
}

.elementor-pagination .elementor-screen-only {
    display: none;
}


/* ======================================================
   11. FILTERS (YITH)
====================================================== */

h4.filter-title {
    font-size: 1rem;
    line-height: 1.25;
    border-bottom: 1px solid #e7e5e4;
    padding: 0.75rem 0;
}

.filters-container a {
    font-size: .875rem;
    line-height: 2;
    color: #000 !important;
}

.filter-content input[type=checkbox],
input[type=radio] {
    height: 1rem;
    width: 1rem;
    position: relative;
    top: 2px !important;
}

.yith-wcan-filters .yith-wcan-filter .filter-title {
    color: #03498f !important;
    font-family: Source Sans Pro;
    font-size: 17px;
}

.yith-wcan-filter .filter-items.collapsed > li:nth-child(n+6) {
    display: none;
}

.yith-filter-toggle {
    display: inline-block;
    margin-top: 6px;
    font-size: 13px;
    cursor: pointer;
    color: #0073aa;
}

.yith-filter-toggle:hover {
    text-decoration: underline;
}

/* ======================================================
   12. UTILITIES / ELEMENTOR / WIDGETS
====================================================== */

.widget .widget-title,
.widget .widgettitle {
    font-family: 'Source Sans Pro', 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
    font-size: 14px;
    font-weight: 600;
}

span.elementor-alert-description a {
    box-shadow: none;
    text-decoration: none;
    font-weight: 600;
    background-image: linear-gradient(transparent calc(100% - 0.35em), #00476a1c 0),
                      linear-gradient(transparent calc(100% - 0.35em), #006ca11c 0);
    background-repeat: no-repeat;
    background-size: 0 100%, 100% 100%;
    transition: background-size .1s ease-in-out;
    color: #147091;
}

/* review stars */
p.stars a {
    position: relative;
    width: 1em;
    height: 1em;
    margin-right: 1px;
    font-weight: 400;
    text-decoration: none;
    text-indent: -999em;
    background-image: none;
}

.elementor-image-box-content p {
    text-align: center;
}

.last-added-products {
    border-radius: 5px;
    border: none;
    transition: border 0.1s;
}

/* IMAGE same height */
.woocommerce ul.products li.product a img,
.added-products-img img {
    /*width: 100%;*/
	width: -webkit-fill-available;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.last-added-product-title {
    min-height: 130px;
}

/* ======================================================
   13. BUTTONS
====================================================== */

li.woocommerce-mini-cart-item.mini_cart_item .quantity {
    border: none;
}

.product .cart .single_add_to_cart_button,
.woocommerce a.checkout-button.button.alt,
a.button.product_type_simple.add_to_cart_button.ajax_add_to_cart,
a.button.product_type_variable,
a.button.offerte-button,
button.button.verhuur-add,
.button.verhuur-select {
    background: #008945 !important;
    border-radius: .5rem !important;
    border: none;
    text-transform: inherit;
    transition: ease-out .3s;
    box-shadow: inset 0 -2px 0 0 rgba(0, 0, 0, .28);
    color: #fff;
    cursor: pointer;
    display: inline-block;
    font-family: 'Source Sans Pro', 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
    font-weight: 900 !important;
    box-sizing: border-box;
    font-size: 15px !important;
    letter-spacing: inherit !important;
}

.product .cart .single_add_to_cart_button:hover,
.woocommerce a.checkout-button.button.alt:hover,
a.button.product_type_simple.add_to_cart_button.ajax_add_to_cart:hover,
a.button.product_type_variable:hover {
    background-color: #009245 !important;
}

/* Variabele knop extra margin */
a.button.product_type_variable.add_to_cart_button {
    margin-bottom: 25px;
}

.woocommerce a.checkout-button.button.alt {
    display: inherit;
}

/* Offerte button afwijkende kleur */
a.button.offerte-button {
    background-color: #dc9814 !important;
	padding: 15px;
    text-align: center;
}

a.button.offerte-button:hover {
    background-color: #f3bf5b !important;
}

/* Add-to-cart icon */
.product .cart .single_add_to_cart_button::before {
    content: '';
    display: inline-block;
    width: 20px;
    height: 19px;
    background: url(images/add-to-cart-hover.svg) center / contain no-repeat;
    margin: 0 6px 0 0;
    transform: translateY(4px);
}


.productvraag-modal label {
    font-weight: 600;
}

/* Neem contact op voor prijs button */
.contact-for-price {
    border-radius: .5rem !important;
    border: none;
    text-transform: inherit;
    transition: ease-out .3s;
    box-shadow: inset 0 -2px 0 0 rgba(0, 0, 0, .28);
    color: #fff;
    cursor: pointer;
    display: inline-block;
    font-family: 'Source Sans Pro', 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
    font-weight: 900 !important;
    box-sizing: border-box;
    font-size: 15px !important;
    letter-spacing: inherit !important;
}

.contact-for-price:hover {
    background: #333;
    color: #fff;
}

/* verhuur buttons */
button.button.verhuur-add,
.button.verhuur-select {
    background-color: #dc9814 !important;
}

button.button.verhuur-add:hover,
.button.verhuur-select:hover {
    background: #d2a262 !important;
}

/* verhuur remove button */
.verhuur-remove {
    background: none;
    border: none;
    font-size: 20px;
    line-height: 1;
    color: #d91111;
    cursor: pointer;
}

.verhuur-remove:hover {
    color: #b91c1c;
    background: none;
}

/* Disabled button */
button.button.verhuur-add:disabled {
    background-color: #43454b ! Important;
}


/* ======================================================
   14. HERO STYLING
====================================================== */

/* BASIS EVENT HERO STYLING */

.theme-event-style {
    position: relative;
    min-height: 250px;
    display: flex;
    align-items: center;
    padding: 140px 20px;
    overflow: hidden;
    text-align: left;
	background: linear-gradient(359deg, #03498f 0%, #03498f 100%);
}

/* Overlay laag */
.theme-event-style:after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
}

/* Content boven overlay */
.theme-event-style .elementor-container {
    position: relative;
    z-index: 3;
}

/* Titel */
.theme-event-style h1 {
	font-size: 35px !important;
    font-weight: 800;
    line-height: 1.1;
	color: #fff;
}

/* Accent lijn */
.theme-event-style h1:after {
    content: "";
    display: block;
    width: 80px;
    height: 6px;
    margin-top: 16px;
}

/* Subtekst */
.theme-event-style p {
    font-size: 16px;
    line-height: 1.7;
}

.theme-event-style {
    border-bottom: 6px solid #f2b705;
}

/* ======================================================
   THEMA PAGINA: OKTOBERFEST
====================================================== */

.theme-oktoberfest h1 {
    color: #fff !Important;
}

.theme-oktoberfest h1:after {
    background-color: #f2b705;
}

.theme-oktoberfest p {
    color: #fff !Important;
}

/* Background oktoberfest hero */
.theme-oktoberfest.theme-event-style:before {
    content: "";
    position: absolute;
    inset: 0;
	background: url('images/oktoberfest-hero.jpg') center/cover no-repeat;
	opacity: 0.2;
    transform: scale(1.05);
    z-index: 1;
    pointer-events: none;
}

.theme-event-style.theme-oktoberfest {
	background: linear-gradient(358deg, #574219 0%, #0a0a0aeb 100%);
}

/* ======================================================
   THEMA PAGINA: IBIZA
====================================================== */

.theme-ibiza h1 {
    color: #fff !Important;
}

.theme-ibiza h1:after {
    background-color: #f2b705;
}

.theme-ibiza p {
    color: #fff !Important;
}

/* Background ibiza hero */
.theme-ibiza.theme-event-style:before {
    content: "";
    position: absolute;
    inset: 0;
	background: url('images/ibiza-hero.jpg') center/cover no-repeat;
    transform: scale(1.05);
    z-index: 1;
    pointer-events: none;
	opacity: 0.2;
}

.theme-event-style.theme-ibiza {
    background: linear-gradient(359deg, #020202 0%, #8b691ff2 100%);
}


/* ======================================================
   15. CHECKOUT / WINKELWAGEN
====================================================== */

.woocommerce-checkout #customer_details {
    width: 52%;
    float: left;
    box-sizing: border-box;
}

.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
    width: 41%;
    float: right;
    box-sizing: border-box;
}


/* clearfix */
.woocommerce-checkout form.checkout::after {
    content: "";
    display: block;
    clear: both;
}


/* ============================================================
   LINKER KAART - FACTUURGEGEVENS
============================================================ */

.woocommerce-checkout #customer_details {
    padding: 32px;
    background: #ffffff;
    border-radius: 12px;
    box-shadow:
        0 8px 30px rgba(0, 0, 0, 0.055);
}


/* Titel */
.woocommerce-checkout .woocommerce-billing-fields > h3 {
    margin: 0 0 28px;
    color: #03498f;
    font-size: 23px;
    font-weight: 700;
    line-height: 1.3;
}


/* ============================================================
   FORMULIER
============================================================ */

.woocommerce-checkout .form-row {
    margin-bottom: 20px;
}


.woocommerce-checkout .form-row label {
    display: block;
    margin-bottom: 7px;
    color: #20252b;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
}

.woocommerce-checkout .form-row label .required {
    color: #d93025;
}


/* Inputs */
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select {
    width: 100%;
    box-sizing: border-box;
    min-height: 46px;
    padding: 12px 14px;
    background: #f8f9fa;
    border: 1px solid #e3e6e9;
    border-radius: 7px;
    color: #20252b;
    font-family: inherit;
    font-size: 14px;
    transition:
        background .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}


/* Focus */
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus {
    background: #ffffff;
    border-color: #0a5ca8;
    outline: none;
    box-shadow:
        0 0 0 3px rgba(10, 92, 168, 0.08);
}


/* Placeholder */
.woocommerce-checkout input::placeholder,
.woocommerce-checkout textarea::placeholder {
    color: #9aa1a8;
}


/* ============================================================
   RECHTERKANT - TITEL
============================================================ */

.woocommerce-checkout #order_review_heading {
    padding: 32px 30px 10px;
    margin: 0;
    background: #ffffff;
    border-radius: 12px 12px 0 0;
    color: #03498f;
    font-size: 23px;
    font-weight: 700;
    line-height: 1.3;
    box-sizing: border-box;
}


/* ============================================================
   RECHTERKANT - BESTELOVERZICHT
============================================================ */

.woocommerce-checkout #order_review {
    padding: 10px 30px 30px;
    margin: 0 0 25px;
    background: #ffffff;
    border-radius: 0 0 12px 12px;
    box-shadow:
        0 8px 30px rgba(0, 0, 0, 0.055);
    box-sizing: border-box;
}

@media (min-width: 901px) {

    .woocommerce-checkout #order_review_heading {
        padding-left: 0 !important;
        padding-right: 0 !important;

        text-align: left !important;
    }

}


/* ============================================================
   BESTELTABEL
============================================================ */

.woocommerce-checkout-review-order-table {
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    background: transparent !important;
}


.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
    border: none !important;
}


/* Header verbergen */
.woocommerce-checkout-review-order-table thead {
    display: none;
}


/* ============================================================
   PRODUCTREGEL
============================================================ */

.woocommerce-checkout-review-order-table tbody .cart_item {
    background: transparent !important;
}

.woocommerce-checkout-review-order-table tbody .cart_item td {
    padding: 12px 0 20px !important;
    vertical-align: middle;
}

/* ------------------------------------------------------------
   PRODUCTNAAM
------------------------------------------------------------ */

.woocommerce-checkout-review-order-table
tbody .cart_item .product-name {
    position: relative;
    padding-left: 54px !important;
    color: #171717;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.45;
    text-align: left;
}


/* ------------------------------------------------------------
   PRODUCTAFBEELDING
------------------------------------------------------------ */

.woocommerce-checkout-review-order-table
.product-item-thumbnail {
    position: absolute;
    left: 0;
    top: 10px;
    display: flex !important;
    width: 42px !important;
    height: 42px !important;
    margin: 0 !important;
    align-items: center;
    justify-content: center;
    background: #f7f8fa;
    border-radius: 7px;
    overflow: hidden;
}


.woocommerce-checkout-review-order-table
.product-item-thumbnail img {
    display: block !important;
    width: 42px !important;
    height: 42px !important;
    margin: 0 !important;
    object-fit: contain;
}


/* ------------------------------------------------------------
   SKU
------------------------------------------------------------ */

.woocommerce-checkout-review-order-table
.product-sku {
    color: #8b929a;
    font-size: 11px;
    font-weight: 400;
}


/* ------------------------------------------------------------
   AANTAL
------------------------------------------------------------ */

.woocommerce-checkout-review-order-table
.product-quantity {
    color: #8b929a;
    font-size: 11px;
    font-weight: 400;
}


/* ------------------------------------------------------------
   PRODUCTPRIJS
------------------------------------------------------------ */

.woocommerce-checkout-review-order-table
tbody .cart_item .product-total {
    padding-left: 15px !important;
    color: #171717;
    font-size: 14px;
    font-weight: 600;
    text-align: right;
    white-space: nowrap;
}


/* ------------------------------------------------------------
   SCHEIDING TUSSEN PRODUCTEN
------------------------------------------------------------ */

.woocommerce-checkout-review-order-table tbody {
    border-bottom: 1px solid #e8ebee;
}


/* ============================================================
   ORDER TOTALEN
============================================================ */

/* Verwijder achtergrond van het volledige totalengedeelte */
.woocommerce-checkout-review-order-table tfoot {
    background: #ffffff !important;
}


/* Alle rijen */
.woocommerce-checkout-review-order-table tfoot tr {
    background: transparent !important;
    border: none !important;
}


/* Cellen */
.woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout-review-order-table tfoot td {
    background: transparent !important;
    border: none !important;
    padding: 9px 0 !important;
}


/* ============================================================
   SUBTOTAAL
============================================================ */

.woocommerce-checkout-review-order-table
.cart-subtotal {
    border-top: 1px solid #e6ebef !important;
    margin-top: 5px;
}


.woocommerce-checkout-review-order-table
.cart-subtotal th {
    padding-top: 16px !important;
    color: #66727d;
    font-size: 13px;
    font-weight: 500;
}


.woocommerce-checkout-review-order-table
.cart-subtotal td {
    padding-top: 16px !important;
    color: #20252b;
    font-size: 14px;
    font-weight: 600;
    text-align: right;
}


/* ============================================================
   VERZENDOPTIES
============================================================ */

/* Alle verzendopties standaard neutraal */
.woocommerce-checkout-review-order-table
#shipping_method label {
    color: #4f5963 !important;
    font-size: 13px;
    font-weight: 600;
}


/* Geselecteerde optie */
.woocommerce-checkout-review-order-table
#shipping_method input[type="radio"]:checked + label {
    color: #000 !important;
}


/* Radio's */
.woocommerce-checkout-review-order-table
#shipping_method input[type="radio"] {
    accent-color: #000;
}

/* ============================================================
   VERZENDING
============================================================ */

.woocommerce-checkout-review-order-table
.woocommerce-shipping-totals th {
    color: #20252b !important;

    font-size: 14px !important;
    font-weight: 600 !important;
}


/* Het vak met de verzendopties */
.woocommerce-checkout-review-order-table
.woocommerce-shipping-totals td {
    padding: 0 0 17px !important;
}


/* Optielijst */
.woocommerce-checkout-review-order-table
#shipping_method {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0 !important;
    padding: 12px !important;
    background: #f8fafc;
    border: 1px solid #e5e9ed;
    border-radius: 8px;
    list-style: none !important;
}


/* Iedere optie */
.woocommerce-checkout-review-order-table
#shipping_method li {
    margin: 0 !important;
    padding: 9px 10px !important;
    border-radius: 6px;
    list-style: none !important;
    transition:
        background .2s ease,
        border-color .2s ease;
}


/* Label */
.woocommerce-checkout-review-order-table
#shipping_method li label {
    display: inline-flex !important;
    align-items: center;
    width: auto !important;
    color: #596570 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.4;
    cursor: pointer;
}


/* Geselecteerde optie */
.woocommerce-checkout-review-order-table
#shipping_method li:has(input[type="radio"]:checked) {
    background: #ffffff !important;
    box-shadow: 0 2px 8px rgba(10, 92, 168, 0.05);
}


.woocommerce-checkout-review-order-table
#shipping_method li
input[type="radio"]:checked + label {
    border: 1px solid transparent;

    transition:
        background .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}


/* Radio */
.woocommerce-checkout-review-order-table
#shipping_method li input[type="radio"] {
    margin: 0 9px 0 0 !important;
    accent-color: #0a5ca8;
    cursor: pointer;
}


/* Prijs direct achter de naam */
.woocommerce-checkout-review-order-table
#shipping_method li label
.woocommerce-Price-amount {
    display: inline;
    margin-left: 5px;
    color: #596570 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    white-space: nowrap;
}


/* Geselecteerde prijs */

.woocommerce-checkout-review-order-table
#shipping_method li
input[type="radio"]:checked + label
.woocommerce-Price-amount {
    color: #20252b !important;
    font-weight: 600 !important;
}


/* ============================================================
   BETAALBLOK - AANSLUITING OP TOTAAL
============================================================ */

.woocommerce-checkout #payment {
    margin-top: 12px;
    border-radius: 10px;
    box-shadow:
        0 8px 28px rgba(0, 0, 0, 0.045);
}

/* ============================================================
   TOTAAL
============================================================ */

.woocommerce-checkout-review-order-table
.order-total {
    background: #eef6fc !important;
    border: none !important;
    border-radius: 10px !important;
    overflow: hidden !important;
}

/* Cellen */
.woocommerce-checkout-review-order-table
.order-total th,
.woocommerce-checkout-review-order-table
.order-total td {
    background: #eef6fc !important;
    border: none !important;
}

/* Hoeken */
.woocommerce-checkout-review-order-table
.order-total th {
    border-radius: 10px 0 0 10px !important;
}

.woocommerce-checkout-review-order-table
.order-total td {
    border-radius: 0 10px 10px 0 !important;
}

/* Totaal label */
.woocommerce-checkout-review-order-table
.order-total th {
    padding: 19px 16px !important;
    background: transparent !important;
    color: #123b5d !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-align: left;
}

/* Totaal bedrag */
.woocommerce-checkout-review-order-table
.order-total td {
    padding: 19px 16px !important;
    background: transparent !important;
    color: #123b5d !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    text-align: right;
}

/* ============================================================
   INCL. BTW BIJ TOTAAL
============================================================ */

.hjp-total-incl-btw {
    display: block;
    margin-top: 2px;
    color: #6b7a87;
    font-size: 10px;
    font-weight: 500;
    line-height: 1.2;
}


/* ============================================================
   BETALING
============================================================ */

.woocommerce-checkout #payment {
    padding: 28px;
    margin-bottom: 25px;
    background: #ffffff;
    border-radius: 12px;
    box-shadow:
        0 8px 30px rgba(0, 0, 0, 0.055);
    box-sizing: border-box;
}

.woocommerce-checkout #payment ul.payment_methods {
    margin: 0;
    padding: 0;
    border: none !important;
    list-style: none;
}


.woocommerce-checkout #payment
ul.payment_methods li {
    margin: 0 0 10px;
    padding: 15px 16px;
    background: #ffffff;
    border: 1px solid #e2e6ea;
    border-radius: 8px;
    transition:
        border-color .2s ease,
        background .2s ease,
        box-shadow .2s ease;
}


/* Geselecteerde betaalmethode */
.woocommerce-checkout #payment
ul.payment_methods li:has(input[type="radio"]:checked) {
    background: #f8fbff;
    border-color: #0a5ca8;
    box-shadow:
        0 4px 14px rgba(10, 92, 168, 0.06);
}

.woocommerce-checkout #payment
ul.payment_methods li label {
    color: #171717;
    font-size: 14px;
    font-weight: 600;
}


/* Betaalomschrijving */
.woocommerce-checkout #payment
.payment_box {
    margin: 12px 0 0;
    padding: 14px 16px;
    background: #f6f8fa;
    border-radius: 7px;
    color: #4f5963;
    font-size: 13px;
    line-height: 1.6;
}


.woocommerce-checkout #payment
.payment_box p {
    margin: 0;
}

/* ============================================================
   BETAALMETHODES
============================================================ */

.woocommerce-checkout #payment {
    margin-top: 12px !important;
    padding: 22px !important;
    background: #ffffff !important;
    border-radius: 10px !important;
	box-shadow: none !important;
    padding: 0px !important;
}


/* Betaalmethodes lijst */
.woocommerce-checkout #payment ul.payment_methods {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    list-style: none;
}


/* Iedere betaalmethode */
.woocommerce-checkout #payment
ul.payment_methods > li {
    position: relative;
    margin: 0 0 10px !important;
    padding: 15px 16px !important;
    background: #ffffff !important;
    border: 1px solid #e1e6eb !important;
    border-radius: 8px !important;
    transition:
        border-color .2s ease,
        background .2s ease,
        box-shadow .2s ease;
}


/* Laatste geen extra marge */
.woocommerce-checkout #payment
ul.payment_methods > li:last-child {
    margin-bottom: 0 !important;
}


/* Geselecteerde betaalmethode */
.woocommerce-checkout #payment
ul.payment_methods > li:has(input[type="radio"]:checked) {
    background: #f5f9fd !important;
    border-color: #b9d4e9 !important;
    box-shadow:
        0 3px 12px rgba(10, 92, 168, 0.05);
}


/* Label */
.woocommerce-checkout #payment
ul.payment_methods > li label {
    color: #20252b !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.4;
}

/* Radio */
.woocommerce-checkout #payment
ul.payment_methods > li input[type="radio"] {
    accent-color: #0a5ca8;
}

/* Betaalprovider logo's */
.woocommerce-checkout #payment
ul.payment_methods > li img {
    max-height: 30px;
    width: auto;
    vertical-align: middle;
}

/* ============================================================
   BESCHRIJVING BETAALMETHODE
============================================================ */

.woocommerce-checkout #payment
.payment_box {
    margin: 13px 0 0 !important;
    padding: 14px 16px !important;
    background: #f8fafc !important;
    border: none !important;
    border-radius: 7px !important;
    color: #5f6973 !important;
    font-size: 13px !important;
    line-height: 1.65;
}


.woocommerce-checkout #payment
.payment_box p {
    margin: 0 !important;
	text-align: left;
}


/* ============================================================
   VOORWAARDEN
============================================================ */

.woocommerce-checkout #payment
.woocommerce-terms-and-conditions-wrapper {
    margin-top: 18px;
}

.woocommerce-checkout #payment
.woocommerce-terms-and-conditions-wrapper label {
    color: #4e5861;
    font-size: 12.5px;
    line-height: 1.5;
}


.woocommerce-checkout #payment
.woocommerce-terms-and-conditions-wrapper a {
    color: #03498f;
    font-weight: 600;
    text-decoration: none;
}


.woocommerce-checkout #payment
.woocommerce-terms-and-conditions-wrapper a:hover {
    text-decoration: underline;
}


/* ============================================================
   BESTELKNOP
============================================================ */

.woocommerce-checkout #place_order {
    width: 100%;
    min-height: 52px;
    margin-top: 18px;
    padding: 14px 20px;
    background: #0a5ca8 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    font-size: 16px;
    font-weight: 700;
    box-shadow:
        0 4px 12px rgba(10, 92, 168, 0.12);
    transition:
        background .2s ease,
        box-shadow .2s ease,
        transform .2s ease;
}


.woocommerce-checkout #place_order:hover {
    background: #084c8c !important;
    transform: translateY(-1px);
    box-shadow:
        0 7px 18px rgba(10, 92, 168, 0.18);
}

/* ============================================================
   BESTELKNOP
============================================================ */

.woocommerce-checkout #place_order {
    width: 100%;
    min-height: 52px;
    padding: 14px 20px;
    margin-top: 18px;
    background: #0a5ca8;
    color: #ffffff;
    border: none;
    border-radius: 8px;
    font-family: inherit;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    transition:
        background .2s ease,
        transform .2s ease,
        box-shadow .2s ease;
}

.woocommerce-checkout #place_order:hover {
    background: #084c8c;
    transform: translateY(-1px);
    box-shadow:
        0 6px 16px rgba(10, 92, 168, 0.18);
}

.woocommerce-checkout #order_review {
    padding-top: 28px !important;
}



/* ============================================================
   ALLEEN AFHALEN
============================================================ */

.hjp-afhalen-notice {
    display: flex;
    align-items: center;
    gap: 14px;
    width: 100%;
    margin: 0 0 25px;
    padding: 15px 18px;
    box-sizing: border-box;
    background: #f4f8fc;
    border: 1px solid #d6e3ef;
    border-left: 4px solid #0a5ca8;
    border-radius: 8px;
}


.hjp-afhalen-icon {
    width: 48px;
    height: 48px;
    min-width: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #ffffff;
    border-radius: 50%;
    border: 1px solid #dfe6eb;

    box-sizing: border-box;
}

.hjp-afhalen-icon svg {
    width: 27px;
    height: 27px;

    fill: none !important;
    stroke: #075985 !important;
    stroke-width: 1.8 !important;
    stroke-linecap: round;
    stroke-linejoin: round;

    display: block;
}


.hjp-afhalen-content {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}


.hjp-afhalen-content strong {
    color: #171717;
    font-size: 14px;
    font-weight: 700;
}


.hjp-afhalen-content span {
    color: #59636d;
    font-size: 13px;
    line-height: 1.5;
}

/* =========================================================
   PRODUCTPAGINA - ALLEEN AFHALEN
   ========================================================= */

.hjp-product-afhalen-notice {
    width: 100%;
    display: flex;
    align-items: center;
    margin: 20px 0 14px 0 !important;
    padding: 14px 18px;
    background: #eef6fc;
    border: 1px solid #cfe2f1;
    border-left: 4px solid #0b6fb3;
    border-radius: 7px;
    box-sizing: border-box;
}


/* Icoon */
.hjp-product-afhalen-icon {
    width: 48px;
    height: 48px;
    min-width: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 14px;
    background: #ffffff;
    border: 1px solid #d7e5ee;
    border-radius: 50%;
    box-sizing: border-box;
}


.hjp-product-afhalen-icon svg {
    width: 26px;
    height: 26px;
    fill: none !important;
    stroke: #075985 !important;
    stroke-width: 1.8 !important;
    stroke-linecap: round;
    stroke-linejoin: round;
    display: block;
}


/* Tekst */
.hjp-product-afhalen-content {
    display: flex;
    flex-direction: column;
    gap: 3px;
}


.hjp-product-afhalen-content strong {
    display: block;
    color: #075985;
    font-size: 17px;
    line-height: 1.35;
    font-weight: 700;
}


.hjp-product-afhalen-content span {
    display: block;
    color: #344b5b;
    font-size: 14px;
    line-height: 1.5;
}

/* =========================================================
   PRODUCTKAART - ALLEEN AFHALEN BADGE
   ========================================================= */

.hjp-product-afhalen-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 5;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    background: #eef6fc;
    border: 1px solid #cfe2f1;
    border-radius: 5px;
    color: #075985;
    font-size: 12px;
    line-height: 1;
    font-weight: 700;
    box-shadow: 0 2px 5px rgba(0,0,0,0.08);
}


.hjp-product-afhalen-badge svg {
    width: 15px;
    height: 15px;
    fill: none !important;
    stroke: #075985 !important;
    stroke-width: 1.8 !important;
    stroke-linecap: round;
    stroke-linejoin: round;
    flex-shrink: 0;
}


/* ============================================================
   MOBIEL
============================================================ */

@media (max-width: 900px) {

    .woocommerce-checkout #customer_details,
    .woocommerce-checkout #order_review_heading,
    .woocommerce-checkout #order_review {
        width: 100%;
        float: none;
    }

    .woocommerce-checkout #customer_details {
        margin-bottom: 20px;
    }

    .woocommerce-checkout #order_review_heading {
        padding: 24px 22px 8px;
    }

    .woocommerce-checkout #order_review {
        padding: 12px 22px 24px;
    }

    .woocommerce-checkout #customer_details {
        padding: 22px;
    }

    .woocommerce-checkout #payment {
        padding: 22px;
    }

}


@media (max-width: 600px) {

    .woocommerce-checkout
    .woocommerce-billing-fields > h3,
    .woocommerce-checkout
    #order_review_heading {
        font-size: 20px;
    }

    .woocommerce-checkout-review-order-table
    .product-item-thumbnail {
        width: 38px;
        height: 38px;
    }

    .woocommerce-checkout-review-order-table
    .product-item-thumbnail img {
        width: 38px;
        height: 38px;
    }

    .woocommerce-checkout-review-order-table
    .order-total th {
        padding: 15px 13px !important;
        font-size: 15px;
    }

    .woocommerce-checkout-review-order-table
    .order-total td {
        padding: 15px 13px !important;
        font-size: 16px;
    }

    .hjp-afhalen-notice {
        align-items: flex-start;
        padding: 13px 14px;
    }

    .hjp-afhalen-icon {
        flex: 0 0 36px;
        width: 36px;
        height: 36px;
    }

}

/* ============================================================
   ALLEEN AFHALEN - WINKELWAGEN / CHECKOUT
   ============================================================ */

.hjp-afhalen-notice {
    display: flex;
    align-items: center;
    gap: 15px;
    margin: 0 0 28px 0;
    padding: 16px 20px;
    background: #f4f8fc;
    border: 1px solid #dce8f2;
    border-left: 4px solid #0d6efd;
    border-radius: 8px;
    box-sizing: border-box;
}

.hjp-afhalen-icon {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border-radius: 50%;
    font-size: 21px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
}

.hjp-afhalen-content {
    display: flex;
    flex-direction: column;
    gap: 3px;
    line-height: 1.45;
}

.hjp-afhalen-content strong {
    font-size: 15px;
    font-weight: 700;
    color: #1d1d1f;
}

.hjp-afhalen-content span {
    font-size: 14px;
    color: #555;
}

@media (max-width: 600px) {

    .hjp-afhalen-notice {
        align-items: flex-start;
        gap: 12px;
        padding: 14px 15px;
        margin-bottom: 20px;
    }

    .hjp-afhalen-icon {
        flex: 0 0 36px;
        width: 36px;
        height: 36px;
        font-size: 18px;
    }

    .hjp-afhalen-content strong {
        font-size: 14px;
    }

    .hjp-afhalen-content span {
        font-size: 13px;
    }
}

.woocommerce-checkout #customer_details{
	width:52%;
	float:left;
}

.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review{
	width:41%;
	float:right;
}

/* clearfix voor floats */
.woocommerce-checkout form.checkout::after{
	content:"";
	display:block;
	clear:both;
}

/* mobile */

@media (max-width:900px){

	.woocommerce-checkout #customer_details,
	.woocommerce-checkout #order_review_heading,
	.woocommerce-checkout #order_review{
		width:100%;
		float:none;
	}
}


/* =================================================
WOOCOMMERCE CART
================================================= */

.cart_totals .shop_table {
    background-color: #f4f7f9;
    border-radius: 10px;
}

.woocommerce-cart table.shop_table{
	border:none;
	width:100%;
}

/* product rows */
.woocommerce-cart .cart_item{
	border-bottom:1px solid #eee;
}

.woocommerce-cart table.shop_table td{
	padding:24px 12px;
	vertical-align:middle;
}

/* =================================================
PRODUCT IMAGE
================================================= */

.woocommerce-cart .product-thumbnail img{
	width:85px;
	border-radius:8px;
	box-shadow:0 4px 10px rgba(0,0,0,0.08);
}

/* =================================================
PRODUCT TITLE
================================================= */

.woocommerce-cart .product-name a{
	font-size:16px;
	font-weight:600;
	color: #040404;
	text-decoration:none;
}

.woocommerce-cart .product-name a:hover{
text-decoration:underline;
}

/* SKU */
.woocommerce-cart .product-name small{
	display:block;
	margin-top:5px;
	color:#777;
	font-size:11px;
}

/* =================================================
QUANTITY FIELD
================================================= */

.woocommerce-cart .quantity{
	display:flex;
	align-items:center;
}

.woocommerce-cart .quantity input{
	width:65px;
	border:1px solid #ddd;
	border-radius:6px;
	padding:6px;
	text-align:center;
}

/* =================================================
PRICE
================================================= */

.woocommerce-cart .product-price,
.woocommerce-cart .product-subtotal{
	font-weight:600;
	font-size:15px;
}

/* =================================================
REMOVE ICON
================================================= */

.woocommerce-cart a.remove{
	color:#bbb;
	font-size:18px;
}

.woocommerce-cart a.remove:hover{
	color:#e2401c !important;
	background:none;
}

/* =================================================
COUPON FIELD
================================================= */

.woocommerce-cart .coupon input{
	border:1px solid #ddd;
	border-radius:6px;
	padding:10px;
}

.woocommerce-cart button[name="apply_coupon"]{
	background:#f5f5f5;
	border:none;
	padding:10px 16px;
	border-radius:6px;
	transition:.2s;
}

.woocommerce-cart button[name="apply_coupon"]:hover{
	
}

/* update cart */
.woocommerce-cart button[name="update_cart"]{
	background:#f5f5f5;
	border:none;
	padding:10px 16px;
	border-radius:6px;
}

/* =================================================
CART TOTALS CARD
================================================= */

.cart_totals{
	background:#ffffff;
	padding:30px;
	border-radius:12px;
	box-shadow:0 12px 35px rgba(0,0,0,0.06);
}

/* totals title */
.cart_totals h2{
	font-size:20px;
	margin-bottom:18px;
}

/* totals table */
.cart_totals table{
	border:none;
}

.cart_totals td,
.cart_totals th{
	padding:14px 0;
}

/* subtotal */
.cart_totals .cart-subtotal td{
	font-weight:500;
}

/* shipping */
.cart_totals .woocommerce-shipping-totals{
	font-size:14px;
}

/* =================================================
VERZENDADRES
================================================= */

.woocommerce-cart .cart_totals .woocommerce-shipping-destination{
	margin:16px 0 0 !important;
	padding:0 !important;
	font-size:13px !important;
	line-height:1.55 !important;
	color:#777 !important;
	text-align:left !important;
}

/* Adres duidelijker */
.woocommerce-cart .cart_totals .woocommerce-shipping-destination strong{
	color:#222 !important;
	font-weight:600 !important;
}

/* =================================================
TOTAL ROW
================================================= */

.cart_totals .order-total th,
.cart_totals .order-total td{
	font-size:21px;
	font-weight:700;
}

/* =================================================
CHECKOUT BUTTON
================================================= */

.wc-proceed-to-checkout{
	margin-top:25px;
}

.wc-proceed-to-checkout a.checkout-button{
	background:#0a8f44;
	padding:17px;
	font-size:17px;
	font-weight:600;
	border-radius:8px;
	text-align:center;
	transition:.2s;
}

.wc-proceed-to-checkout a.checkout-button:hover{
	background:#087437;
	transform:translateY(-1px);
}

/* =================================================
TRUST BADGES
================================================= */

.cart_totals::after{
	content:"✔ Veilig betalen         ✔ Snelle levering";
	display:block;
	margin-top:18px;
	font-size:13px;
	color:#777;
	text-align:center;
}

/* =================================================
FREE SHIPPING BAR
================================================= */

.free-shipping-progress{
	background:#f4f7f9;
	padding:12px;
	border-radius:8px;
	font-size:14px;
	text-align:center;
	margin-bottom:18px;
}

.free-shipping-progress.success{

	background:#e7f7ed;
	color:#0a8f44;
	font-weight:600;

}

/* =================================================
MOBILE CART
================================================= */

@media (max-width:768px){

	.woocommerce-cart .product-thumbnail img{
		width:60px;
	}

	.cart_totals{
		margin-top:35px;
	}

}

/* =================================================
CART TOTALS VISUAL
================================================= */

/* subtotals tabel rustiger */
.cart_totals table tr{
	border-bottom:1px solid #eee;
}

/* labels links */
.cart_totals th{
	color:#666;
	font-weight:500;
}

/* prijzen rechts */
.cart_totals td{
	text-align:right;
	font-weight:600;
}

/* verzendblok */
.cart_totals .woocommerce-shipping-totals ul{
	margin-top:6px;
}

/* adres regel */
.cart_totals .woocommerce-shipping-destination{
	font-size:13px;
	color:#666;
	margin-top:8px;
	line-height:1.5;
}

/* =================================================
TOTAL ROW EXTRA
================================================= */

.cart_totals .order-total{
	border-top:2px solid #eee;
}

.cart_totals .order-total th,
.cart_totals .order-total td{
	font-size:24px;
	font-weight:700;
	padding-top:20px;
}

/* =================================================
CHECKOUT BUTTON
================================================= */

.wc-proceed-to-checkout a.checkout-button{
	background:linear-gradient(180deg,#0a8f44,#087437);
	box-shadow:0 8px 18px rgba(0,0,0,0.12);
}

.wc-proceed-to-checkout a.checkout-button:hover{
	box-shadow:0 10px 25px rgba(0,0,0,0.15);
}

/* =================================================
TRUST BADGES 
================================================= */

.cart_totals::after{
	font-size:13px;
	color:#666;
	letter-spacing:.2px;
}

.cart_totals{
	position:sticky;
	top:120px;
}


/* =========================================
WINKELWAGEN - VERZENDING
========================================= */

.woocommerce-cart .cart_totals .woocommerce-shipping-totals th,
.woocommerce-cart .cart_totals .woocommerce-shipping-totals td {
	background:#f8f9fa !important;
	border:none !important;
}

/* Titel */
.woocommerce-cart .cart_totals .woocommerce-shipping-totals th {
	padding:20px 22px 10px !important;
	font-size:15px !important;
	font-weight:700 !important;
	text-align:left !important;
}

/* Inhoud */
.woocommerce-cart .cart_totals .woocommerce-shipping-totals td {
	padding:0 22px 20px !important;
}

/* Verzendopties */
.woocommerce-cart .cart_totals .woocommerce-shipping-methods {
	margin:0 !important;
	padding:0 !important;
	list-style:none !important;
}

/* Optie */
.woocommerce-cart .cart_totals .woocommerce-shipping-methods li {
	display:flex !important;
	align-items:center !important;
	margin:0 0 8px !important;
	padding:12px 14px !important;
	background:#fff !important;
	border:1px solid #dfe4e8 !important;
	border-radius:8px !important;
	min-height:48px;
	box-sizing:border-box;
}

/* Laatste optie */
.woocommerce-cart .cart_totals .woocommerce-shipping-methods li:last-child {
	margin-bottom:0 !important;
}

/* Radio */
.woocommerce-cart .cart_totals .woocommerce-shipping-methods input[type="radio"] {
	margin:0 9px 0 0 !important;
}

/* Label */
.woocommerce-cart .cart_totals .woocommerce-shipping-methods label {
	margin:0 !important;
	padding:0 !important;
	font-size:14px !important;
	font-weight:500 !important;
}

/* Geselecteerd */
.woocommerce-cart .cart_totals .woocommerce-shipping-methods input[type="radio"]:checked + label {
	font-weight:600 !important;
}

/* Prijs */
.woocommerce-cart .cart_totals .woocommerce-shipping-methods .woocommerce-Price-amount {
	margin-left:8px;
	white-space:nowrap;
}

/* Adres */
.woocommerce-cart .cart_totals .woocommerce-shipping-destination {
	margin:15px 0 0 !important;
	padding:0 !important;

	font-size:13px !important;
	line-height:1.5 !important;

	color:#666 !important;
}

.woocommerce-cart .cart_totals .woocommerce-shipping-destination strong {
	color:#222 !important;
}


/* =================================================
PRODUCT ROWS → CARD STYLE
================================================= */

.woocommerce-cart .cart_item{
	background:#ffffff;
	border-radius:10px;
	box-shadow:0 6px 18px rgba(0,0,0,0.04);
	border:none;
	margin-bottom:14px;
}

/* spacing tussen kolommen */
.woocommerce-cart table.shop_table td{
	padding:20px 15px;
}

/* product image */
.woocommerce-cart .product-thumbnail img{
	width:90px;
	border-radius:8px;
}

/* product naam */
.woocommerce-cart .product-name a{
	font-size:15px;
}

/* prijs rechts sterker */
.woocommerce-cart .product-subtotal{
	font-size:15px;
	font-weight:700;
}

.cart_totals .shop_table tr.order-total td, .cart_totals .shop_table tr.order-total th {
    font-size: 15px;
    font-weight: 700;
    border-bottom: none;
}

button[name="update_cart"]{
	display:none !important;
}

/* =================================
QUANTITY CONTROL WINKELWAGEN
================================ */

.woocommerce-cart .quantity{
	display:flex;
	align-items:center;
	border:1px solid #ddd;
	border-radius:10px;
	overflow:hidden;
	height:40px;
	width:120px;
	background:#fff;
}

/* input */
.woocommerce-cart .quantity input.qty{
	flex:1;
	border:none;
	outline:none;
	text-align:center;
	font-size:16px;
	font-weight:600;
	background:#fff;
}

/* browser spinners verwijderen */
.woocommerce-cart input[type="number"]::-webkit-outer-spin-button,
.woocommerce-cart input[type="number"]::-webkit-inner-spin-button{
	-webkit-appearance:none !important;
	margin:0;
}

.woocommerce-cart input[type="number"]{
	-moz-appearance:textfield !important;
	appearance:textfield !important;
}

/* knoppen */
.qty-btn{
	width:40px;
	height:40px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	background:#0a5ca8;
	color:#fff;
	border:none;
	font-size:20px;
	font-weight:600;
	cursor:pointer;
	padding:0;
	margin:0;
}

.qty-btn.minus{
	letter-spacing:2px;
}

/* hover */
.qty-btn:hover{
	background:#084c8c;
}

/* borders */
.qty-btn.minus{
	border-right:1px solid rgba(255,255,255,0.25);
}

.qty-btn.plus{
	border-left:1px solid rgba(255,255,255,0.25);
}

tr.woocommerce-cart-form__cart-item.cart_item .quantity-nav {
    display: none ! Important;
}

body.woocommerce-page .shop_table .quantity .plus, body.woocommerce-page .shop_table .quantity .minus, body.woocommerce-page .shop_table .quantity .plus {
    height: 45px;
}

.cart-collaterals {
    margin-bottom: 50px;
}

body a.remove:before {
	font-size: 10px;
}

.cart_item a.remove:before {
    margin-top: 5px;
    margin-left: 10px;
}

body.woocommerce-page .quantity .minus, body.woocommerce-page .quantity .plus {
    height: 29px;
    color: #000000;
    background: none;
}

/* Ronde hoeken van de volledige quantity-box */
.single-product .quantity.buttons_added {
    border-radius: 8px !important;
    overflow: hidden !important;
}

/* =================================
COUPON SECTION STYLING
================================ */

.woocommerce-cart .cart-collaterals .coupon,
.woocommerce-cart .actions .coupon{
	display:flex !important;
	align-items:center !important;
	gap:12px !important;
	margin-top:20px !important;
}

/* input veld */
.woocommerce-cart .coupon input.input-text{
	flex:1 !important;
	height:44px !important;
	padding:0 16px !important;
	border:1px solid #ddd !important;
	border-radius:10px !important;
	font-size:14px !important;
	background:#fff !important;
	min-width:240px !important;
}

/* knop */
.woocommerce-cart button[name="apply_coupon"]{
	height:44px !important;
	padding:0 20px !important;
	border:none !important;
	border-radius:10px !important;
	background:#0a5ca8 !important;
	color:#fff !important;
	font-size:14px !important;
	font-weight:600 !important;
	cursor:pointer !important;
	transition:all .2s ease !important;
}

/* hover */
.woocommerce-cart button[name="apply_coupon"]:hover{
	background:#084c8c !important;
}

/* update cart knop */
.woocommerce-cart button[name="update_cart"]{
	height:44px !important;
	padding:0 20px !important;
	border:none !important;
	border-radius:10px !important;
	background:#f2f2f2 !important;
	font-weight:500 !important;
}

/* mobiel */
@media (max-width:768px){

	.woocommerce-cart .coupon{
		flex-direction:column !important;
		align-items:stretch !important;
	}

	.woocommerce-cart .coupon input.input-text{
		width:100% !important;
	}

}

.coupon {
    background-color: #f4f7f9;
    width: 100%;
    padding: 15px !important;
    border-radius: 10px;
}


/* =================================================
YITH ADDED TO CART POPUP
================================================= */

.yith-wacp-wrapper{
	border-radius:14px !important;
	box-shadow:0 25px 70px rgba(0,0,0,0.25) !important;
	background:#fff;
	overflow:hidden;
}

/* popup padding */
.yith-wacp-content{
	padding:28px !important;
}

/* =================================
SUCCESS MESSAGE
================================ */

.yith-wacp-message{
	background:#eaf6ef;
	color:#0a8f44;
	padding:12px 16px;
	border-radius:8px;
	font-weight:600;
	font-size:14px;
	margin-bottom:24px;
}

/* =================================
PRODUCT BLOCK
================================ */

.product-thumb{
	float:left;
	margin-right:20px;
}

.product-thumb img{
	border-radius:8px;
	width:90px;
	height:auto;
	box-shadow:0 5px 14px rgba(0,0,0,0.08);
}

/* product info */
.product-info{
	padding-top:4px;
}

.product-title{
	font-size:18px;
	font-weight:600;
	color:#b8782b;
	margin-bottom:4px;
}

.product-price{
	font-size:15px;
	font-weight:600;
	color:#333;
}

/* =================================
ACTION BUTTONS
================================ */

.popup-actions{
	clear:both;
	margin-top:25px;
	text-align:center;
}

.popup-actions .button{
	padding:10px 18px;
	border-radius:8px;
	font-weight:600;
	font-size:13px;
	margin:5px;
	transition:.2s;
}

/* cart */
.go-cart{
	background:#f2f2f2 !important;
	color:#333 !important;
}

/* checkout */
.go-checkout{
	background:#0a8f44 !important;
	color:#fff !important;
}

/* continue */
.continue-shopping{
	background:#0a5ca8 !important;
	color:#fff !important;
}

/* hover */
.popup-actions .button:hover{
	transform:translateY(-1px);
	box-shadow:0 6px 16px rgba(0,0,0,0.15);
}

/* =================================
RELATED PRODUCTS
================================ */

.yith-wacp-related{
	margin-top:35px;
}

.yith-wacp-related h3{
	text-align:center;
	color:#0a5ca8;
	font-weight:700;
	font-size:14px;
	margin-bottom:18px;
}

/* product grid */
.yith-wacp-related ul.products{
	display:flex;
	gap:18px;
	justify-content:center;
}

/* product card */
.yith-wacp-related-product{
	background:#fff;
	border-radius:10px;
	padding:12px;
	text-align:center;
	box-shadow:0 6px 18px rgba(0,0,0,0.06);
	width:140px;
}

/* image */
.product-image img{
	border-radius:6px;
	max-width:90px;
}

/* title */
.yith-wacp-related-product .product-title{
	font-size:13px;
	margin-top:6px;
}

/* price */
.yith-wacp-related-product .price{
	font-size:13px;
}

/* add button */
.yith-wacp-related-product .button{
	background:#0a8f44;
	color:#fff;
	border-radius:6px;
	padding:6px 12px;
	font-size:12px;
	margin-top:6px;
	display:inline-block;
}

/* =================================
CLOSE BUTTON
================================ */

.yith-wacp-main h3 a {
    color: #042c61;
    font-size: 20px;
}

.yith-wacp-main span {
    font-size: 15px !important;
}

#yith-wacp-popup .yith-wacp-close {
    top: 15px;
    right: 15px;
    color: #c50910;
	z-index:999 !important;
}

/* =================================
MOBILE
================================ */

@media (max-width:768px){

	.product-thumb{
		float:none;
		text-align:center;
		margin:0 0 15px 0;
	}

	.yith-wacp-related ul.products{
		flex-direction:column;
		align-items:center;
	}

}

/* Zoek dropdown container */
.smart-search-popup {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 10px 35px rgba(0,0,0,0.15);
    border: 1px solid #eee;
    overflow: hidden;
    margin-top: 8px;
}

/* Result list */
.smart-search-results-inner {
    padding: 8px 0;
}

/* Elke productregel */
.autocomplete-suggestion a {
    display: flex;
    gap: 14px;
    padding: 12px 18px;
    align-items: center;
    transition: all .25s ease;
}

/* Hover effect */
.autocomplete-suggestion a:hover {
    background: #f8fafc;
}

/* Product afbeelding */
.smart-search-post-icon img {
    width: 70px;
    height: 70px;
    object-fit: cover;
    border-radius: 6px;
    border: 1px solid #eee;
}

/* Content holder */
.smart-search-post-holder {
    flex: 1;
}

/* Categorie */
.smart-search-post-category {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: #8a8a8a;
    margin-bottom: 3px;
}

/* Titel */
.smart-search-post-title {
    font-size: 15px;
    font-weight: 600;
    color: #222;
    margin-bottom: 3px;
}

/* Gezochte term highlight */
.smart-search-post-title strong,
.smart-search-post-excerpt strong {
	color: #03498f;
}

/* Korte omschrijving */
.smart-search-post-excerpt {
    font-size: 12px;
    color: #777;
    margin-top: 2px;
}

/* Prijs blok */
.smart-search-post-price {
    font-size: 15px;
	font-weight: 600 !important;
    color: #03498f !important;
}

/* incl btw prijs */
.smart-search-post-price small {
    display: block;
    font-size: 12px;
    color: #777;
    text-decoration: none;
    margin-top: 2px;
}

.smart-search-view-all-holder>a {
	background-color: #03498f;
}

.smart-search-view-all-holder>a:hover {
	background-color: #0A5Ca8;
	color: #fff;
}

/* prijs regel netjes onder elkaar */
.smart-search-post-price {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

/* SKU */
.smart-search-post-sku {
    font-size: 11px;
    color: #999;
    margin-top: 2px;
}

/* Bekijk alles knop */
.smart-search-view-all-holder {
    background: #000;
}

.smart-search-view-all {
    display: block;
    text-align: center;
    padding: 14px;
    font-weight: 600;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: .6px;
    transition: all .25s ease;
}

.smart-search-view-all:hover {
    background: #03a84e;
}

.content-area p.stock {
    clear: both;
    margin-top: 18px;
    margin-bottom: 4px;
    padding: 10px 16px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

/* Normaal op voorraad */
.content-area p.stock.in-stock {
    background: #e9f8ef;
    color: #0a8f3c;
    border: 1px solid #bfe8cf;
}

.content-area p.stock.in-stock::before {
    /*content: "✔";*/
    font-weight: 700;
	content: none !Important;
}

/* Lage voorraad */
.content-area p.stock.low-stock {
    background: #fff3cd;
    color: #b35c00;
    border: 1px solid #ffd27a;
    animation: voorraadPulse 2s infinite;
}

.content-area p.stock.low-stock::before {
    content: "⚠";
}

/* Uitverkocht */
.content-area p.stock.out-of-stock {
    background: #fdecea;
    color: #c62828;
    border: 1px solid #f5c6c6;
}

.content-area p.stock.out-of-stock::before {
    content: "✖";
}

/* subtiele aandacht animatie */
@keyframes voorraadPulse {
    0% { box-shadow: 0 0 0 0 rgba(255,193,7,0.4); }
    70% { box-shadow: 0 0 0 6px rgba(255,193,7,0); }
    100% { box-shadow: 0 0 0 0 rgba(255,193,7,0); }
}


/* =========================================================
   PRODUCTPAGINA - QUANTITY BOX
   Alleen productpagina
   ========================================================= */

.single-product .quantity.buttons_added {
    display: flex !important;
    align-items: stretch !important;
    width: 92px !important;
    min-width: 92px !important;
    height: 58px !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    position: relative !important;
}

/* Aantal */
.single-product .quantity.buttons_added input.qty {
    width: 60px !important;
    min-width: 60px !important;
    height: 58px !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    border-radius: 8px 0 0 8px !important;
    box-sizing: border-box !important;
}

/* Container + / - */
.single-product .quantity.buttons_added .quantity-nav {
    position: static !important;
    display: flex !important;
    flex-direction: column !important;
    width: 32px !important;
    min-width: 32px !important;
    height: 58px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
}

/* + en - */
.single-product .quantity.buttons_added .quantity-nav a {
    position: static !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 29px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* =========================================================
   QUANTITY + KNOP OP ÉÉN RIJ
   ========================================================= */

.single-product form.cart,
.single-product .woocommerce-variation-add-to-cart {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 12px !important;
}

/* Winkelwagenknop */
.single-product form.cart .single_add_to_cart_button,
.single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button {
    margin: 0 !important;
    flex: 1 1 auto !important;
    width: auto !important;
    height: 58px !important;
}

/* =========================================================
   QUANTITY - AFWERKING
   ========================================================= */

.single-product .quantity.buttons_added {
    border-radius: 8px !important;
    overflow: hidden !important;
    border: 1px solid #dfe3e7 !important;
}

/* Geen dubbele border tussen veld en + / - */
.single-product .quantity.buttons_added .qty {
    border: 0 !important;
    border-right: 1px solid #dfe3e7 !important;
    border-radius: 0 !important;
}

/* Quantity-nav */
.single-product .quantity.buttons_added .quantity-nav {
    border: 0 !important;
    border-radius: 0 !important;
}

/* Geen extra horizontale/verticale borders die dikte veroorzaken */
.single-product .quantity.buttons_added .quantity-nav a {
    border: 0 !important;
}

/* Scheiding tussen + en - */
.single-product .quantity.buttons_added .quantity-nav .quantity-up {
    border-bottom: 1px solid #dfe3e7 !important;
}

.quantity-button.quantity-down:before, .quantity-button.quantity-up:before {
    margin-left: 5px;
}

/* =========================================================
   VARIABELE PRODUCTEN
   ========================================================= */

/* Het volledige variatieformulier */
.single-product form.variations_form {
    display: block !important;
    width: 100% !important;
}

/* =========================================================
   VARIATIES
   ========================================================= */

.single-product form.variations_form .variations {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: both !important;
    margin: 0 0 25px !important;
    padding: 0 !important;
}


/* Tabelrijen */
.single-product form.variations_form .variations tr {
    display: block !important;
    width: 100% !important;
    float: none !important;
    clear: both !important;
    margin: 0 0 22px !important;
}


/* Label */
.single-product form.variations_form .variations td.label {
    display: block !important;
    width: 100% !important;
    float: none !important;
    padding: 0 0 8px !important;
    margin: 0 !important;
    text-align: left !important;
}


/* Keuze */
.single-product form.variations_form .variations td.value {
    display: block !important;
    width: 100% !important;
    float: none !important;
    clear: both !important;
    padding: 0 !important;
    margin: 0 !important;
}


/* Select */
.single-product form.variations_form .variations select {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    box-sizing: border-box !important;
}


/* =========================================================
   VARIATION WRAP
   ========================================================= */

.single-product form.variations_form
.single_variation_wrap {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: both !important;
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================================
   VARIATION PRICE / MESSAGE
   ========================================================= */

.single-product form.variations_form
.single_variation {
    display: block !important;
    width: 100% !important;
    float: none !important;
    clear: both !important;
}


/* =========================================================
   AANTAL + WINKELWAGEN
   ========================================================= */

.single-product form.variations_form
.woocommerce-variation-add-to-cart {
    display: flex !important;
    width: 100% !important;
    float: none !important;
    clear: both !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* Quantity */
.single-product form.variations_form
.woocommerce-variation-add-to-cart .quantity {
    display: flex !important;
    flex: 0 0 auto !important;
    float: none !important;
    margin: 0 !important;
}


/* Winkelwagenknop */
.single-product form.variations_form
.woocommerce-variation-add-to-cart
.single_add_to_cart_button {
    flex: 1 1 auto !important;
    width: auto !important;
    float: none !important;
    margin: 0 !important;
}

/* =========================================================
   MOBIEL
   ========================================================= */

@media (max-width: 768px) {

    .single-product form.variations_form
    .woocommerce-variation-add-to-cart {
        gap: 10px !important;
    }

}


/* Offerteproduct zonder prijs:
   quantity + winkelwagen volledig verbergen */
.single-product .summary .hjp-offerte-verbergen {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* =========================================================
   PRODUCTPAGINA - VARIATIES VOLLEDIGE BREEDTE
   ========================================================= */

.single-product form.variations_form table.variations {
    width: 100% !important;
}

.single-product form.variations_form table.variations tbody,
.single-product form.variations_form table.variations tr,
.single-product form.variations_form table.variations th,
.single-product form.variations_form table.variations td {
    width: 100% !important;
    display: block;
}

/* Label boven de dropdown */
.single-product form.variations_form table.variations th.label {
    padding: 0 !important;
    margin: 0 0 8px !important;
}

/* Dropdown-container */
.single-product form.variations_form table.variations td.value {
    padding: 0 !important;
    margin: 0 0 25px !important;
}

/* Dropdown zelf */
.single-product form.variations_form table.variations td.value select {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
    height: 42px !important;
    padding: 0 13px !important;
    background: #ffffff !important;
    border: 1px solid #d9e0e7 !important;
    border-radius: 5px !important;
    color: #263746 !important;
    font-size: 14px !important;
}

/* Wissen onder de laatste dropdown */
.single-product form.variations_form table.variations .reset_variations {
    display: block;
    margin-top: 8px;
	color: #0a5ca8;
}


/* ============================================================
   PRODUCT RATING / BEOORDELING
   ============================================================ */

.single-product .hjp-product-rating {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 6px 0 14px 0;
    line-height: 1;
}

/* Sterren */
.single-product .hjp-product-rating .hjp-rating-stars {
    display: inline-flex;
    align-items: center;
}

.single-product .hjp-product-rating .star-rating {
    margin: 0 !important;
    width: 5.4em;
    font-size: 13px;
}

/* Gouden sterren */
.single-product .hjp-product-rating .star-rating::before {
    color: #e0a528;
}

.single-product .hjp-product-rating .star-rating span::before {
    color: #e0a528;
}

/* Gemiddelde score */
.single-product .hjp-product-rating .hjp-rating-number {
    font-size: 13px;
    font-weight: 600;
    color: #222;
    margin-left: 1px;
}

/* Scheidingsteken */
.single-product .hjp-product-rating .hjp-rating-separator {
    color: #b8b8b8;
    font-size: 13px;
}

/* Aantal beoordelingen */
.single-product .hjp-product-rating .hjp-rating-count {
    font-size: 13px;
    font-weight: 400;
    color: #777;
    text-decoration: none;
}

.single-product .hjp-product-rating .hjp-rating-count:hover {
    color: #0a5ca8;
    text-decoration: underline;
}

.single-product #reviews {
    scroll-margin-top: 100px;
}

.single-product .woocommerce-product-rating {
    display: none !important;
}

/* ========================================
   HJP - Geen beoordelingen
   ======================================== */

.single-product .hjp-rating-no-reviews {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #555;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    cursor: pointer;
}

.single-product .hjp-rating-no-reviews:hover {
    color: #0a5ca8;
    text-decoration: none;
}

.single-product .hjp-empty-stars {
    color: #d6d9dc;
    font-size: 17px;
    letter-spacing: 1px;
    line-height: 1;
}

/* ============================================================
   HJP - WOOCOMMERCE REVIEWS
   ============================================================ */

/* Reviewgedeelte */
.single-product #reviews {
	margin-top: 0px;
    padding: 30px 35px;
    background: #fff;
    border: 1px solid #e7e7e7;
    border-radius: 12px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.04);
}

/* Titel */
.single-product #reviews h2 {
    margin: 0 0 25px !important;
    color: #0a5ca8 !important;
    font-size: 26px !important;
    font-weight: 700 !important;
}

/* "Er zijn nog geen beoordelingen" */
.single-product #reviews .woocommerce-noreviews {
    margin: 0 0 30px !important;
    color: #666;
    font-size: 14px;
}

/* ============================================================
   REVIEW LIJST
   ============================================================ */

.single-product #reviews #comments {
    margin: 0;
}

.single-product #reviews ol.commentlist {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
}

.single-product #reviews ol.commentlist li.review {
    position: relative;
    margin: 0 0 25px !important;
    padding: 25px 25px 25px 90px !important;
    background: #f8fafc;
    border: 1px solid #e8edf2;
    border-radius: 10px;
}

/* Avatar */
.single-product #reviews ol.commentlist li.review img.avatar {
    position: absolute;
    left: 22px;
    top: 25px;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    padding: 0;
    border: 0;
}

/* Naam */
.single-product #reviews .comment-text .woocommerce-review__author {
    font-size: 15px;
    font-weight: 700;
    color: #222;
}

/* Datum */
.single-product #reviews .comment-text .woocommerce-review__published-date {
    display: block;
    margin-top: 3px;
    font-size: 12px;
    color: #999;
}

/* Sterren */
.single-product #reviews .comment-text .star-rating {
    float: right;
    margin: 0 !important;
    font-size: 14px;
}

.single-product #reviews .comment-text .star-rating::before,
.single-product #reviews .comment-text .star-rating span::before {
    color: #e0a528;
}

/* Reviewtekst */
.single-product #reviews .description {
    margin-top: 18px !important;
    color: #444;
    font-size: 14px;
    line-height: 1.7;
}

/* ============================================================
   REVIEWFORMULIER
   ============================================================ */

.single-product #reviews #review_form_wrapper {
    margin-top: 35px;
    padding-top: 30px;
    border-top: 1px solid #e5e5e5;
}

.single-product #reviews #reply-title {
    display: block;
    margin: 0 0 22px !important;
    color: #222;
    font-size: 20px !important;
    font-weight: 700;
}

/* Labels */
.single-product #reviews #review_form label {
    display: block;
    margin-bottom: 7px;
    color: #222;
    font-size: 13px;
    font-weight: 600;
}

/* Sterren kiezen */
.single-product #reviews .comment-form-rating {
    margin-bottom: 22px;
}

.single-product #reviews .comment-form-rating .stars {
    margin-top: 8px;
}

.single-product #reviews .comment-form-rating .stars a {
    color: #e0a528;
}

/* Tekstvelden */
.single-product #reviews #review_form textarea,
.single-product #reviews #review_form input[type="text"],
.single-product #reviews #review_form input[type="email"] {
    width: 100%;
    border: 1px solid #dfe3e7 !important;
    border-radius: 7px !important;
    background: #fff !important;
    padding: 12px 14px !important;
    font-size: 14px !important;
    box-shadow: none !important;
}

.single-product #reviews #review_form textarea {
    min-height: 140px;
    resize: vertical;
}

.single-product #reviews #review_form textarea:focus,
.single-product #reviews #review_form input[type="text"]:focus,
.single-product #reviews #review_form input[type="email"]:focus {
    border-color: #0a5ca8 !important;
    outline: none;
}

/* Verzenden */
.single-product #reviews #review_form input[type="submit"] {
    margin-top: 8px !important;
    padding: 13px 28px !important;
    border: 0 !important;
    border-radius: 7px !important;
    background: #0a8f44 !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    cursor: pointer;
}

.single-product #reviews #review_form input[type="submit"]:hover {
    background: #087a3a !important;
}

/* ============================================================
   MOBIEL
   ============================================================ */

@media (max-width: 767px) {

    .single-product #reviews {
        margin-top: 30px;
        padding: 25px 20px;
        border-radius: 10px;
    }

    .single-product #reviews h2 {
        font-size: 22px !important;
    }

    .single-product #reviews ol.commentlist li.review {
        padding: 20px 18px 20px 75px !important;
    }

    .single-product #reviews ol.commentlist li.review img.avatar {
        left: 15px;
        top: 20px;
        width: 45px;
        height: 45px;
    }

    .single-product #reviews .comment-text .star-rating {
        float: none;
        margin-top: 8px !important;
    }
}

/* ============================================================
   HJP - REVIEWFORMULIER VERFIJNEN
   ============================================================ */

/* Scheiding tussen reviews en formulier */
.single-product #reviews #review_form_wrapper {
    margin-top: 28px !important;
    padding-top: 28px !important;
    border-top: 1px solid #e5e5e5;
}

/* Titel formulier */
.single-product #reviews #reply-title {
    margin: 0 0 20px !important;
    font-size: 20px !important;
    line-height: 1.3 !important;
    color: #222 !important;
}

/* Labels */
.single-product #reviews #review_form label {
    margin-bottom: 7px;
    font-size: 13px;
    font-weight: 600;
    color: #222;
}

/* Sterrenveld */
.single-product #reviews .comment-form-rating {
    margin-bottom: 22px !important;
}

.single-product #reviews .comment-form-rating .stars {
    margin: 7px 0 0 !important;
}

/* Sterren bij het kiezen */
.single-product #reviews .comment-form-rating .stars a {
    color: #e0a528 !important;
}

/* Tekstveld */
.single-product #reviews #review_form textarea {
    min-height: 125px !important;
    margin-top: 0 !important;
}

/* Knop */
.single-product #reviews #review_form input[type="submit"] {
    margin-top: 10px !important;
    padding: 12px 26px !important;
    min-height: 44px;
}

/* ========================================
   Review - Geverifieerde eigenaar
   ======================================== */

.single-product #reviews .hjp-verified-badge {
    display: inline-flex;
    align-items: center;
    margin-left: 8px;
    padding: 3px 9px;
    border-radius: 20px;
    background: #eef8f1;
    color: #0a8f44;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.3;
    vertical-align: middle;
    white-space: nowrap;
}

.single-product #reviews .hjp-verified-badge::before {
    content: "✓";
    margin-right: 4px;
    font-weight: 700;
}

/* Verberg de standaard WooCommerce verificatietekst */
.single-product #reviews .woocommerce-review__verified {
    display: none !important;
}



/* =========================================================
   OFFERTEKNOP VOLLEDIGE BREEDTE
   ========================================================= */

.single-product .offerte-aanvragen,
.single-product .offerte-aanvraag,
.single-product .offerte-btn,
.single-product .offerte-button {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.single-product .hjp-product-sku {
    margin: 6px 0 18px !important;
    padding: 0 !important;
    font-size: 13px;
    line-height: 1.4;
}

.single-product .hjp-product-sku .sku_wrapper {
    color: #59636d;
}


.single-product .hjp-product-sku .sku {
    color: #005b9f;
    font-weight: 600;
}

/* Productnummer styling */
.single-product .hjp-product-sku {
    display: block !important;
    width: 100% !important;
    margin: 10px 0 15px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
	font-family: 'Source Sans Pro', 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
	font-size: 14px !important;
    letter-spacing: 0.5px;
}

.single-product .hjp-product-sku .sku_wrapper {
    display: flex !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #999 !important;
}

.single-product .hjp-product-sku .sku {
    color: #333 !important;
	font-weight: 600 !important;
	
}

/* Afstand gekozen uitvoering en variaties */
.woocommerce-variation-description {
    padding-top: 0px;
}

/* Gekozen variatieprijs */
.single-product .woocommerce-variation-price {
    margin-top: 28px !important;
    margin-bottom: 12px !important;
    padding: 14px 16px !important;
    background: #f7f9f8 !important;
    border-left: 3px solid #009447 !important;
    border-radius: 4px !important;
}

/* Label boven de prijs */
.single-product .woocommerce-variation-price::before {
    content: "Prijs gekozen uitvoering";
    display: block;
    margin-bottom: 5px;
    font-size: 13px;
    font-weight: 600;
    color: #555;
}

/* Prijs */
.single-product .woocommerce-variation-price .price {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #009447 !important;
}

/* BTW-gedeelte */
.single-product .woocommerce-variation-price .woocommerce-price-suffix {
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #a0a8ad !important;
}

/* Iets meer ruimte tussen prijs en winkelwagen */
.single-product .woocommerce-variation-add-to-cart {
    margin-top: 8px !important;
}

ul.products li.product .price {
    font-size: 16px;
    font-weight: 600;
	text-align: center;
    padding: 10px 12px !important;
	color: #008945 !important;
    background: #f7f9f8 !important;
    border-radius: 4px !important;
}

small.woocommerce-price-suffix {
    color: #999;
    font-size: 12px;
}

.summary.entry-summary small.woocommerce-price-suffix {
    font-size: 14px !important;
}

/* =========================================
MOBILE MENU
========================================= */

@media (max-width: 1024px) {

    /* =========================================
       HOOFDCATEGORIEËN
       ========================================= */

		#site-navigation .menu-primary-menu-container > ul > li {
			position: relative !important;
			margin: 0 0 7px 0 !important;
			padding: 0 !important;
			min-height: 54px !important;
			height: auto !important;
		}

	/* Gesloten hoofditem */
	#site-navigation .menu-primary-menu-container > ul > li:not(.dropdown-open) {
		height: 54px !important;
	}

	/* Geopend hoofditem mag meegroeien met submenu */
	#site-navigation .menu-primary-menu-container > ul > li.dropdown-open {
		height: auto !important;
		z-index: 100 !important;
	}
	
	/* Submenu altijd boven de overige hoofditems */
	#site-navigation .menu-primary-menu-container > ul > li.dropdown-open > .sub-menu-wrapper {
		position: relative !important;
		z-index: 101 !important;
	}

	/* Volledige menulijst mag meegroeien */
	#site-navigation .menu-primary-menu-container > ul {
		overflow: visible !important;
	}

	#site-navigation .menu-primary-menu-container {
		overflow: visible !important;
	}

    #site-navigation .menu-primary-menu-container > ul > li > a.main-menu-link {
        display: flex !important;
        align-items: center !important;
        width: 100% !important;
        height: 54px !important;
        min-height: 54px !important;
        box-sizing: border-box !important;
        margin: 0 !important;
        padding: 0 52px 0 15px !important;
        background: #005b96 !important;
        color: #fff !important;
        border: 0 !important;
        border-radius: 0 !important;
        font-size: 16px !important;
        font-weight: 600 !important;
        line-height: 1 !important;
    }


    /* =========================================
       PIJLTJE HOOFDCATEGORIE
       ========================================= */

    #site-navigation .menu-primary-menu-container > ul > li > .caret {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        width: 46px !important;
        height: 54px !important;
        min-height: 54px !important;
        box-sizing: border-box !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #003f68 !important;
        color: #fff !important;
        border: 0 !important;
        border-left: 1px solid rgba(255,255,255,.15) !important;
        border-radius: 0 !important;
        z-index: 10 !important;
        cursor: pointer !important;
        pointer-events: auto !important;
    }


    /* Open */
    #site-navigation .menu-primary-menu-container > ul > li.dropdown-open > .caret {
        background: #002f4d !important;
    }

    /* =========================================
       SUBMENU ACHTERGROND
       ========================================= */

    #site-navigation .menu-primary-menu-container > ul > li > .sub-menu-wrapper {
        margin: 0 !important;
        padding: 5px 0 !important;
        background: #edf5f9 !important;
        border: 0 !important;
        border-radius: 0 !important;
    }
	
	ul.sub-menu li {
		border-bottom: 1px solid #acb5b9;
		padding: 5px;
	}


    /* =========================================
       SUBCATEGORIEËN
       ========================================= */

    #site-navigation .sub-menu-wrapper > ul > li {
        position: relative !important;
        margin: 0 !important;
        padding: 0 !important;
        border-bottom: 1px solid #d5e3ea !important;
    }

    #site-navigation .sub-menu-wrapper > ul > li:last-child {
        border-bottom: 0 !important;
    }


    #site-navigation .sub-menu-wrapper > ul > li > a.sub-menu-link {
        display: flex !important;
        align-items: center !important;
        width: 100% !important;
        height: 48px !important;
        min-height: 48px !important;
        box-sizing: border-box !important;
        margin: 0 !important;
        padding: 0 52px 0 14px !important;
        background: #fff !important;
        color: #17212b !important;
        border: 0 !important;
        border-radius: 0 !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        line-height: 1.3 !important;
    }


    /* =========================================
       PIJLTJE SUBCATEGORIE
       ========================================= */

    #site-navigation .sub-menu-wrapper > ul > li > .caret {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        width: 46px !important;
        height: 48px !important;
        box-sizing: border-box !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #344b5a !important;
        color: #fff !important;
        border: 0 !important;
        border-left: 1px solid #263944 !important;
        border-radius: 0 !important;
        z-index: 10 !important;
        cursor: pointer !important;
        pointer-events: auto !important;
    }
	
	.sub-menu-wrapper span.caret {
		color: #ffffff !important;
		opacity: 10 !important;
		top: 5px !important;
		background-color: #03498f;
	}
	
	span.caret:after {
		color: #ffffff !important;
	}
	
	/* =========================================
   SUBCATEGORIEËN - GROTER + BORDER
   ========================================= */

#site-navigation .sub-menu-wrapper > ul > li {
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid #d5e3ea !important;
}

#site-navigation .sub-menu-wrapper > ul > li:last-child {
    border-bottom: 0 !important;
}

#site-navigation .sub-menu-wrapper > ul > li > a.sub-menu-link {
    height: 48px !important;
    min-height: 48px !important;
    padding: 0 52px 0 14px !important;
    display: flex !important;
    align-items: center !important;
    box-sizing: border-box !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    background: #fff !important;
    color: #17212b !important;
    border: 0 !important;
    border-radius: 0 !important;
}

    /* Open */
    #site-navigation .sub-menu-wrapper > ul > li.dropdown-open > .caret {
        background: #263b49 !important;
    }


    /* =========================================
       ONDERLIGGENDE ITEMS
       ========================================= */

    #site-navigation .sub-menu-wrapper .sub-menu-wrapper {
        margin: 0 !important;
        padding: 4px 0 4px 12px !important;
        background: #fff !important;
        border-left: 3px solid #005b96 !important;
        border-radius: 0 !important;
    }

    #site-navigation .sub-menu-wrapper .sub-menu-wrapper li {
        margin: 0 !important;
        border-bottom: 1px solid #edf0f2 !important;
    }

    #site-navigation .sub-menu-wrapper .sub-menu-wrapper li:last-child {
        border-bottom: 0 !important;
    }

    #site-navigation .sub-menu-wrapper .sub-menu-wrapper a.sub-menu-link {
        min-height: 44px !important;
        height: 44px !important;
        padding: 0 10px !important;
        display: flex !important;
        align-items: center !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        color: #34434d !important;
        font-size: 14px !important;
        font-weight: 400 !important;
        line-height: 1.4 !important;
    }


    /* =========================================
       BEKIJK ASSORTIMENT
       ========================================= */

    #site-navigation .bekijk-meer {
        margin: 6px 0 0 !important;
        padding: 0 !important;
    }

    #site-navigation .bekijk-meer a {
        display: flex !important;
        align-items: center !important;

        width: 100% !important;
        height: 48px !important;
        min-height: 48px !important;
        padding: 0 14px !important;
        box-sizing: border-box !important;
        background: #005b96 !important;
        color: #fff !important;
        border: 0 !important;
        border-radius: 0 !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        white-space: nowrap !important;
    }

}




/* =========================================================
   PRODUCTCATEGORIEËN - MODERNE STYLING
   ========================================================= */

#woocommerce_product_categories-2 {
    margin-top: 32px !important;
    width: 100%;
}


/* =========================================================
   TITEL
   ========================================================= */

#woocommerce_product_categories-2 .widget-title {
    display: block !important;
    margin: 0 0 12px !important;
    padding: 0 0 11px !important;
    color: #111 !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;

    border-bottom: 1px solid #dedede !important;
}


/* =========================================================
   HOOFDLIJST
   ========================================================= */

#woocommerce_product_categories-2 > ul.product-categories {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

#woocommerce_product_categories-2 > ul.product-categories > li {
    position: relative;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}


/* =========================================================
   HOOFDCATEGORIEËN
   ========================================================= */

#woocommerce_product_categories-2 > ul.product-categories > li > a {
    display: flex !important;
    align-items: center !important;
    position: relative;
    width: 100% !important;
    min-height: 41px;
    box-sizing: border-box;
    margin: 0 !important;
    padding: 8px 40px 8px 8px !important;
    color: #666 !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
    text-align: left !important;
    text-decoration: none !important;
    border-bottom: 1px solid #e5e5e5 !important;
    background: transparent;
    transition:
        background-color 0.2s ease,
        color 0.2s ease;
}


/* Hover */
#woocommerce_product_categories-2 > ul.product-categories > li > a:hover {
    color: #0069b4 !important;
    background-color: #f5f9fc !important;
}


/* =========================================================
   ACTIEVE CATEGORIE
   ========================================================= */

#woocommerce_product_categories-2 li.current-cat-parent > a,
#woocommerce_product_categories-2 li.current-cat > a {
    color: #0069b4 !important;
    background-color: #edf6fc !important;
    font-weight: 600 !important;
    border-bottom-color: #dcebf5 !important;
}


/* =========================================================
   PIJLTJE
   ========================================================= */

#woocommerce_product_categories-2 li.cat-parent > a::after {
    content: "›";
    position: absolute;
    right: 10px;
    top: 50%;
    color: #777;
    font-size: 21px;
    font-weight: 300;
    line-height: 1;
    transform: translateY(-50%);
    transition:
        transform 0.2s ease,
        color 0.2s ease;
}


/* Hover pijltje */
#woocommerce_product_categories-2 li.cat-parent > a:hover::after {
    color: #0069b4;
}


/* Open / actieve categorie */
#woocommerce_product_categories-2 li.current-cat-parent > a::after,
#woocommerce_product_categories-2 li.current-cat > a::after {
    color: #0069b4;
    transform:
        translateY(-50%)
        rotate(90deg);
}


/* =========================================================
   SUBCATEGORIE BLOK
   ========================================================= */

#woocommerce_product_categories-2 ul.children {
    display: none;
    margin: 0 !important;
    padding: 7px 0 8px 0 !important;
    list-style: none !important;
    background-color: #fafcfe;

    border-left: 1px solid #cfe1ee !important;
}


/* Actieve/open categorie */
#woocommerce_product_categories-2 li.current-cat-parent > ul.children,
#woocommerce_product_categories-2 li.current-cat > ul.children {
    display: block !important;
}


/* =========================================================
   SUBCATEGORIE ITEMS
   ========================================================= */

#woocommerce_product_categories-2 ul.children > li {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}


/* Subcategorie links */
#woocommerce_product_categories-2 ul.children > li > a {
    display: block !important;
    position: relative;
    width: 100% !important;
    box-sizing: border-box;
    margin: 0 !important;
    padding: 6px 10px 6px 28px !important;
    color: #707070 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
    text-align: left !important;
    text-decoration: none !important;
    transition:
        color 0.2s ease,
        background-color 0.2s ease;
}


/* =========================================================
   SUBCATEGORIE BOLLETJE
   ========================================================= */

#woocommerce_product_categories-2 ul.children > li > a::before {
    content: "";
    position: absolute;
    left: 12px;
    top: 50%;
    width: 4px;
    height: 4px;
    margin: 0;
    border-radius: 50%;
    background-color: #0069b4;
    transform: translateY(-50%);
}


/* =========================================================
   SUBCATEGORIE HOVER
   ========================================================= */

#woocommerce_product_categories-2 ul.children > li > a:hover {
    color: #0069b4 !important;
    background-color: #f0f7fc !important;
}


/* Actieve subcategorie */
#woocommerce_product_categories-2 ul.children > li.current-cat > a {
    color: #0069b4 !important;
    font-weight: 600 !important;
}

/* =========================================================
   SUB-SUBCATEGORIEËN
   ========================================================= */

#woocommerce_product_categories-2 ul.children ul.children {
    margin: 0 0 0 8px !important;
    padding: 3px 0 3px 0 !important;
    background: transparent;
    border-left: 1px solid #d8e7f1 !important;
}


#woocommerce_product_categories-2 ul.children ul.children > li > a {
    padding-left: 28px !important;
    font-size: 13.5px !important;
}

/* =========================================================
   LAATSTE CATEGORIE
   ========================================================= */

#woocommerce_product_categories-2 > ul.product-categories > li:last-child > a {
    border-bottom: none !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {

    #woocommerce_product_categories-2 {
        margin-top: 28px !important;
    }

    #woocommerce_product_categories-2 > ul.product-categories > li > a {
        min-height: 42px;
        font-size: 15px !important;
    }

}


/* =========================================================
   MOBIEL
   ========================================================= */

@media (max-width: 767px) {

    #woocommerce_product_categories-2 {
        margin-top: 25px !important;
    }

    #woocommerce_product_categories-2 > ul.product-categories > li > a {
        padding-left: 7px !important;
        padding-right: 40px !important;
    }

    #woocommerce_product_categories-2 ul.children > li > a {
        padding-left: 28px !important;
    }

}


#woocommerce_product_categories-2 .widget-title {
    color: #03498f !important;
    font-family: Source Sans Pro !important;
    font-size: 17px !important;
}


/* 
TEST 
*/

/* =========================================================
   HJP - KENNISBANK OP HOMEPAGE
   ========================================================= */


/* ---------------------------------------------------------
   Sectie
   --------------------------------------------------------- */

.hjp-home-knowledge {
    width: 100%;
    margin: 0 auto;

    padding: 55px 0 65px;
}


/* ---------------------------------------------------------
   Header
   --------------------------------------------------------- */

.hjp-home-knowledge__header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 30px;

    margin-bottom: 30px;
}


.hjp-home-knowledge__header h2 {
font-size: 35px;
    font-weight: 600;
    -webkit-text-stroke-color: #000;
    stroke: #000;
    color: #0E1639;
}


.hjp-home-knowledge__header p {
    margin: 0;
	font-size: 15px;
    font-weight: 300;
    line-height: 2em;
    color: #464646;
}

/* ---------------------------------------------------------
   Link naar alle artikelen
   --------------------------------------------------------- */

.hjp-home-knowledge__all {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
    color: #113769;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    transition: color 0.2s ease;
}

.hjp-home-knowledge__all span {
    font-size: 18px;
    transition: transform 0.2s ease;
}

.hjp-home-knowledge__all:hover {
    color: #07477f;
}

.hjp-home-knowledge__all:hover span {
    transform: translateX(3px);
}

/* ---------------------------------------------------------
   Grid
   --------------------------------------------------------- */

.hjp-home-knowledge__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}

/* ---------------------------------------------------------
   Kaart
   --------------------------------------------------------- */

.hjp-home-knowledge__card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #e4e9ef;
    border-radius: 8px;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06);
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.hjp-home-knowledge__card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(15, 23, 42, 0.10);
}

/* ---------------------------------------------------------
   Afbeelding
   --------------------------------------------------------- */

.hjp-home-knowledge__image {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 16 / 8.3;
    overflow: hidden;
    background: #eef2f6;
}

.hjp-home-knowledge__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s ease;
}

.hjp-home-knowledge__card:hover
.hjp-home-knowledge__image img {
    transform: scale(1.025);
}

/* ---------------------------------------------------------
   Categorie label
   --------------------------------------------------------- */

.hjp-home-knowledge__category {
    position: absolute;
    top: 14px;
    right: 14px;
    padding: 6px 11px;
    background: rgba(15, 47, 85, 0.88);
    color: #ffffff;
    border-radius: 5px;
    font-size: 12px;
    line-height: 1;
    font-weight: 600;
}

/* ---------------------------------------------------------
   Geen afbeelding
   --------------------------------------------------------- */

.hjp-home-knowledge__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background: #eef3f8;
    color: #0f2f55;
    font-size: 20px;
    font-weight: 700;
}

/* ---------------------------------------------------------
   Inhoud
   --------------------------------------------------------- */

.hjp-home-knowledge__content {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 25px 28px 24px;
}

.hjp-home-knowledge__content h3 {
    margin: 0 0 13px;
    font-size: 20px;
    line-height: 1.5;
    font-weight: 750;
}

.hjp-home-knowledge__content h3 a {
    color: #111827;
    text-decoration: none;
}

.hjp-home-knowledge__content h3 a:hover {
    color: #0a5ca8;
}

/* ---------------------------------------------------------
   Samenvatting
   --------------------------------------------------------- */

.hjp-home-knowledge__content p {
    margin: 0 0 20px;
    color: #64748b;
    font-size: 14px;
    line-height: 1.65;
}

/* ---------------------------------------------------------
   Lees meer knop
   --------------------------------------------------------- */

.hjp-home-knowledge__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    align-self: flex-start;
    margin-top: auto;
    padding: 10px 17px;
    background: #113769;
    color: #ffffff;
    border-radius: 5px;
    font-size: 13px;
    line-height: 1.2;
    font-weight: 700;
    text-decoration: none;
    transition:
        background 0.2s ease,
        transform 0.2s ease;
}

.hjp-home-knowledge__button span {
    font-size: 16px;
    transition: transform 0.2s ease;
}

.hjp-home-knowledge__button:hover {
    background: #07477f;
    color: #ffffff;
    text-decoration: none;
}

.hjp-home-knowledge__button:hover span {
    transform: translateX(3px);
}

/* ---------------------------------------------------------
   Tablet
   --------------------------------------------------------- */

@media (max-width: 900px) {

    .hjp-home-knowledge {
        padding: 45px 0 55px;
    }

    .hjp-home-knowledge__grid {
        gap: 20px;
    }

    .hjp-home-knowledge__content {
        padding: 22px 22px 21px;
    }

    .hjp-home-knowledge__content h3 {
        font-size: 18px;
    }
}

/* ---------------------------------------------------------
   Mobiel
   --------------------------------------------------------- */

@media (max-width: 767px) {

    .hjp-home-knowledge {
        padding: 40px 0 45px;
    }

    .hjp-home-knowledge__header {
        display: block;

        margin-bottom: 24px;
    }

    .hjp-home-knowledge__header h2 {
        font-size: 27px;
    }

    .hjp-home-knowledge__header p {
        margin-bottom: 14px;
    }

    .hjp-home-knowledge__grid {
        grid-template-columns: 1fr;

        gap: 20px;
    }

    .hjp-home-knowledge__image {
        aspect-ratio: 16 / 8;
    }
}

/* =========================================================
   HJP Kennisbank - homepage verfijning
   ========================================================= */

/* Sectie iets compacter */
.hjp-home-knowledge {
    padding-top: 45px;
    padding-bottom: 50px;
}


/* Titel */
.hjp-home-knowledge__header h2 {
    font-size: 30px;
    margin-bottom: 6px;
}


/* Intro onder de titel */
.hjp-home-knowledge__header p {
    font-size: 14px;
}


/* Kaarten iets compacter */
.hjp-home-knowledge__content {
    padding: 22px 28px 23px;
}


/* Artikeltitel */
.hjp-home-knowledge__content h3 {
    margin-bottom: 10px;
    font-size: 19px;
    line-height: 1.45;
}


/* Intro maximaal 3 regels */
.hjp-home-knowledge__content p {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 18px;
    font-size: 14px;
    line-height: 1.55;
}

/* Knoppen netjes gelijk onderaan */
.hjp-home-knowledge__button {
    margin-top: auto;
}



/* =========================================================
   UITGELICHTE PRODUCTEN HOMEPAGE
   ========================================================= */

.hjp-home-products {
    width: 100%;
    padding: 50px 0 55px;
}

/* ---------------------------------------------------------
   Header
   --------------------------------------------------------- */

.hjp-home-products__header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 30px;
}

.hjp-home-products__header h2, .hjp-home-knowledge__header h2 {
	line-height: 1;
    margin: 0;
    padding: 0;
    font-size: 35px;
    font-weight: 600;
    -webkit-text-stroke-color: #000;
    stroke: #000;
    color: #0E1639;
}

.hjp-home-products__header p {
    margin: 0;
	font-size: 15px;
    font-weight: 300;
    line-height: 2em;
    color: #464646;
}

/* ---------------------------------------------------------
   Bekijk alle producten
   --------------------------------------------------------- */

.hjp-home-products__all {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
    color: #0a5ca8;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
}

.hjp-home-products__all span {
    font-size: 18px;
    transition: transform 0.2s ease;
}

.hjp-home-products__all:hover {
    color: #07477f;
}

.hjp-home-products__all:hover span {
    transform: translateX(3px);
}

/* ---------------------------------------------------------
   Product grid
   --------------------------------------------------------- */

.hjp-home-products__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
}

/* ---------------------------------------------------------
   Productkaart
   --------------------------------------------------------- */

.hjp-home-product {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #e4e9ef;
    border-radius: 8px;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.05);
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.hjp-home-product:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(15, 23, 42, 0.09);
}

/* ---------------------------------------------------------
   Productafbeelding
   --------------------------------------------------------- */

.hjp-home-product__image {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: #ffffff;
}

.hjp-home-product__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform 0.3s ease;
}

.hjp-home-product:hover
.hjp-home-product__image img {
    transform: scale(1.035);
}

/* ---------------------------------------------------------
   Sale badge
   --------------------------------------------------------- */

.hjp-home-product__badge {
    position: absolute;
    top: 13px;
    left: 13px;
    z-index: 2;
    padding: 6px 10px;
    border-radius: 5px;
    font-size: 12px;
    line-height: 1;
    font-weight: 700;
}


.hjp-home-product__badge--sale {
    background: #0a8f44;
    color: #ffffff;
}

/* ---------------------------------------------------------
   Productinhoud
   --------------------------------------------------------- */

.hjp-home-product__content {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 19px 20px 20px;
}


/* ---------------------------------------------------------
   Productnaam
   --------------------------------------------------------- */

.hjp-home-product__content h3 {
    min-height: 48px;
    margin: 0 0 10px;
    font-size: 16px;
    line-height: 1.5;
    font-weight: 700;
}

.hjp-home-product__content h3 a {
    color: #111827;
    text-decoration: none;
}

.hjp-home-product__content h3 a:hover {
    color: #0a5ca8;
}

/* ---------------------------------------------------------
   Prijs
   --------------------------------------------------------- */

.hjp-home-product__price {
    min-height: 32px;
    margin-bottom: 17px;
}

.hjp-home-product__price .price {
    color: #0a8f44;
    font-size: 18px;
    font-weight: 800;
}

.hjp-home-product__price del {
    color: #94a3b8;
    font-size: 13px;
    font-weight: 400;
}

.hjp-home-product__price ins {
    text-decoration: none;
}

/* ---------------------------------------------------------
   Bekijk product knop
   --------------------------------------------------------- */

.hjp-home-product__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    width: 100%;
    margin-top: auto;
    padding: 11px 14px;
    background: #113769;
    color: #ffffff;
    border-radius: 5px;
    font-size: 13px;
    line-height: 1.2;
    font-weight: 700;
    text-decoration: none;
    transition:
        background 0.2s ease,
        transform 0.2s ease;
}

.hjp-home-product__button span {
    font-size: 16px;

    transition: transform 0.2s ease;
}

.hjp-home-product__button:hover {
    background: #07477f;
    color: #ffffff;
    text-decoration: none;
}


.hjp-home-product__button:hover span {
    transform: translateX(3px);
}

/* ---------------------------------------------------------
   Tablet
   --------------------------------------------------------- */

@media (max-width: 900px) {

    .hjp-home-products {
        padding: 45px 0 50px;
    }

    .hjp-home-products__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}

/* ---------------------------------------------------------
   Mobiel
   --------------------------------------------------------- */

@media (max-width: 767px) {

    .hjp-home-products {
        padding: 40px 0 45px;
    }

    .hjp-home-products__header {
        display: block;
        margin-bottom: 24px;
    }

    .hjp-home-products__header h2 {
        font-size: 27px;
    }

    .hjp-home-products__header p {
        margin-bottom: 14px;
    }

    .hjp-home-products__grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .hjp-home-product__image {
        aspect-ratio: 1 / 1;
    }
}


/* HJP - Uitgelicht assortiment slider */

.hjp-home-products__slider {
    position: relative;
    width: 100%;
}

.hjp-home-products__track {
    display: flex;
    flex-wrap: nowrap;
    gap: 22px;
    width: 100%;
    overflow: hidden;
    scroll-behavior: smooth;
}

/* 4 producten zichtbaar */
.hjp-home-products__track .hjp-home-product {
    flex: 0 0 calc((100% - 66px) / 4);
    min-width: 0;
}


/* Pijlen */

.hjp-home-products__arrow {
    position: absolute;
    z-index: 10;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 1px solid #dce5ee;
    border-radius: 50%;
    background: #ffffff;
    color: #0a5ca8;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 3px 12px rgba(15, 47, 85, 0.12);
    transition: all .2s ease;
}

.hjp-home-products__arrow:hover {
    background: #0a5ca8;
    border-color: #0a5ca8;
    color: #ffffff;
}

.hjp-home-products__arrow--prev {
    left: -21px;
}

.hjp-home-products__arrow--next {
    right: -21px;
}

.hjp-home-products__arrow[disabled] {
    display: none;
}


/* TABLET */

@media (max-width: 900px) {

    .hjp-home-products__track {
        gap: 18px;
    }

    /* 2 producten zichtbaar */
    .hjp-home-products__track .hjp-home-product {
        flex: 0 0 calc((100% - 18px) / 2);
    }

    .hjp-home-products__arrow--prev {
        left: -16px;
    }

    .hjp-home-products__arrow--next {
        right: -16px;
    }
}


/* MOBIEL */

@media (max-width: 600px) {

    .hjp-home-products__track {
        gap: 16px;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        padding: 2px 2px 8px;
    }

    .hjp-home-products__track::-webkit-scrollbar {
        display: none;
    }

    /* 1 product zichtbaar */
    .hjp-home-products__track .hjp-home-product {
        flex: 0 0 100%;
        scroll-snap-align: start;
    }

    .hjp-home-products__arrow {
        width: 38px;
        height: 38px;
        font-size: 20px;
    }

    .hjp-home-products__arrow--prev {
        left: -8px;
    }

    .hjp-home-products__arrow--next {
        right: -8px;
    }
}

/* Sectie weghalen op mobiel */
@media (max-width: 600px) {
    .hjp-home-products {
        display: none !important;
    }
}


/* =========================================================
   HJP – Breadcrumb in hero
   ========================================================= */

.hjp-hero-breadcrumb {
    position: absolute !important;

    top: 28px !important;
    left: 0 !important;

    width: 100% !important;

    z-index: 5 !important;
}

.hjp-hero-breadcrumb .elementor-widget-container {
    width: 100% !important;
}

.hjp-hero-breadcrumb .elementor-shortcode {
    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}

.hjp-hero-breadcrumb .elementor-shortcode > span {
    display: flex !important;

    align-items: center !important;
    gap: 9px !important;

    color: rgba(255, 255, 255, 0.72) !important;

    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
}

.hjp-hero-breadcrumb a {
    color: rgba(255, 255, 255, 0.9) !important;

    text-decoration: none !important;

    transition: color 0.2s ease !important;
}

.hjp-hero-breadcrumb a:hover {
    color: #ffffff !important;
}

.hjp-hero-breadcrumb .breadcrumb-separator {
    color: rgba(255, 255, 255, 0.45) !important;
}

.hjp-hero-breadcrumb .breadcrumb_last {
    color: rgba(255, 255, 255, 0.65) !important;
}


/* Mobiel */

@media (max-width: 767px) {

    .hjp-hero-breadcrumb {
        top: 20px !important;
    }

    .hjp-hero-breadcrumb .elementor-shortcode > span {
        font-size: 11px !important;
        gap: 7px !important;
    }
}
