/*
	Theme Name: HorecaHero theme
	Theme URI: https://horecahero.nl
	Description: HorecaHero
	Version: 2.0.215
	Author: Raoul te Niet
	Author URI: https://teniet.com
	License: RTM
*/

/* =========================================================
   Poppins metric-compatible fallback - v2.0.109
   Alleen desktop gebruikt de metrisch gecorrigeerde fallback.
   Op mobiel gaf deze correctie juist extra layout shift, dus daar gebruiken we
   weer de gewone sans-serif fallback uit v2.0.104.
   ========================================================= */
@font-face {
	font-family: "Poppins Fallback";
	src: local("Arial");
	ascent-override: 105%;
	descent-override: 35%;
	line-gap-override: 10%;
	size-adjust: 105.68%;
}

/* =========================================================
   HorecaHero bundled normalize.css - v2.0.101
   Eén stylesheet minder in de kritieke renderketen.
   ========================================================= */
/*! normalize.css v2.1.3 | MIT License | git.io/normalize */

/* ==========================================================================
   HTML5 display definitions
   ========================================================================== */

/**
 * Correct `block` display not defined in IE 8/9.
 */

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
    display: block;
}

/**
 * Correct `inline-block` display not defined in IE 8/9.
 */

audio,
canvas,
video {
    display: inline-block;
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */

audio:not([controls]) {
    display: none;
    height: 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9.
 * Hide the `template` element in IE, Safari, and Firefox < 22.
 */

[hidden],
template {
    display: none;
}

/* ==========================================================================
   Base
   ========================================================================== */

/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */

html {
    font-family: sans-serif; /* 1 */
    -ms-text-size-adjust: 100%; /* 2 */
    -webkit-text-size-adjust: 100%; /* 2 */
}

/**
 * Remove default margin.
 */

body {
    margin: 0;
}

/* ==========================================================================
   Links
   ========================================================================== */

/**
 * Remove the gray background color from active links in IE 10.
 */

a {
    background: transparent;
}

/**
 * Address `outline` inconsistency between Chrome and other browsers.
 */

a:focus {
    outline: thin dotted;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */

a:active,
a:hover {
    outline: 0;
}

/* ==========================================================================
   Typography
   ========================================================================== */

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari 5, and Chrome.
 */

h1 {
    font-size: 2em;
    margin: 0.67em 0;
}

/**
 * Address styling not present in IE 8/9, Safari 5, and Chrome.
 */

abbr[title] {
    border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
 */

b,
strong {
    font-weight: bold;
}

/**
 * Address styling not present in Safari 5 and Chrome.
 */

dfn {
    font-style: italic;
}

/**
 * Address differences between Firefox and other browsers.
 */

hr {
    -moz-box-sizing: content-box;
    box-sizing: content-box;
    height: 0;
}

/**
 * Address styling not present in IE 8/9.
 */

mark {
    background: #ff0;
    color: #000;
}

/**
 * Correct font family set oddly in Safari 5 and Chrome.
 */

code,
kbd,
pre,
samp {
    font-family: monospace, serif;
    font-size: 1em;
}

/**
 * Improve readability of pre-formatted text in all browsers.
 */

pre {
    white-space: pre-wrap;
}

/**
 * Set consistent quote types.
 */

q {
    quotes: "\201C" "\201D" "\2018" "\2019";
}

/**
 * Address inconsistent and variable font size in all browsers.
 */

small {
    font-size: 80%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

/* ==========================================================================
   Embedded content
   ========================================================================== */

/**
 * Remove border when inside `a` element in IE 8/9.
 */

img {
    border: 0;
}

/**
 * Correct overflow displayed oddly in IE 9.
 */

svg:not(:root) {
    overflow: hidden;
}

/* ==========================================================================
   Figures
   ========================================================================== */

/**
 * Address margin not present in IE 8/9 and Safari 5.
 */

figure {
    margin: 0;
}

/* ==========================================================================
   Forms
   ========================================================================== */

/**
 * Define consistent border, margin, and padding.
 */

fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */

legend {
    border: 0; /* 1 */
    padding: 0; /* 2 */
}

/**
 * 1. Correct font family not being inherited in all browsers.
 * 2. Correct font size not being inherited in all browsers.
 * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
 */

button,
input,
select,
textarea {
    font-family: inherit; /* 1 */
    font-size: 100%; /* 2 */
    margin: 0; /* 3 */
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */

button,
input {
    line-height: normal;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+.
 * Correct `select` style inheritance in Firefox 4+ and Opera.
 */

button,
select {
    text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */

button,
html input[type="button"], /* 1 */
input[type="reset"],
input[type="submit"] {
    -webkit-appearance: button; /* 2 */
    cursor: pointer; /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */

button[disabled],
html input[disabled] {
    cursor: default;
}

/**
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */

input[type="checkbox"],
input[type="radio"] {
    box-sizing: border-box; /* 1 */
    padding: 0; /* 2 */
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
 *    (include `-moz` to future-proof).
 */

input[type="search"] {
    -webkit-appearance: textfield; /* 1 */
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box; /* 2 */
    box-sizing: content-box;
}

/**
 * Remove inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

/**
 * 1. Remove default vertical scrollbar in IE 8/9.
 * 2. Improve readability and alignment in all browsers.
 */

textarea {
    overflow: auto; /* 1 */
    vertical-align: top; /* 2 */
}

/* ==========================================================================
   Tables
   ========================================================================== */

/**
 * Remove most spacing between table cells.
 */

table {
    border-collapse: collapse;
    border-spacing: 0;
}

:root {
	--primary-color: #01454E;
	--body-bg-color: #f8f9fa;
	--dynamic-text-color: #263238;
	--dynamic-bg-color: #263238;
	--h-color: #fff;
	--site-container-max: 1380px;
	--account-login-max: 1040px;
	--account-login-mobile-max: 560px;
}

.color-1 {
	--primary-color: #01454E;
	--h-color: #00a4a8;
}

.color-2 {
	--primary-color: #01454E;
	--h-color: #181818;
}

.color-3 {
	--primary-color: #01454E;
	--h-color: #00a4a8;
}

.color-4 {
	--primary-color: #01454E;
}

.color-5 {
	--primary-color: #01454E;
	--h-color: #00FFDF;
}

.color-6 {
	--primary-color: #01454E;
	--h-color: #00FFDF;
}

*, *:after, *:before {
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	-webkit-font-smoothing:antialiased;
	font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}

html {
	font-size:62.5%;
}

body {
	height: 100%;
	width: 100%;
	font:300 14px/1.6 "Poppins", sans-serif;
	color:#181818;
	background: var(--primary-color);
}

.inner-content p a {
	text-decoration: underline;
}

b, strong {
	font-weight: 600;
}

.curve {
	background:red;
	clip-path: ellipse(90% 100% at 50% 100%);
}

.half-transparent {
	background: linear-gradient(170deg, var(--primary-color) 50%, #fbf7f1 50%);
}

.es-compact-badge-container {
	zoom: 0.7;
}

iframe {
	border: none;
	border-radius: 15px;
}

iframe.demo {
	overflow: hidden;
	height: 500px;
	min-width: 380px;
	width: 100%;
	margin: 20px 0 0;
	box-shadow: 2.3px 2.3px 2.2px rgba(0, 0, 0, 0.02), 4.7px 4.7px 5.3px rgba(0, 0, 0, 0.028), 8px 8px 10px rgba(0, 0, 0, 0.035), 13.6px 13.6px 17.9px rgba(0, 0, 0, 0.042), 25.9px 25.9px 33.4px rgba(0, 0, 0, 0.05), 100px 100px 80px rgba(0, 0, 0, 0.07);
}

body .vc_row[data-vc-full-width] {
	overflow: visible;
}

.woocommerce-order {
	background: #fff;
	border-radius: 12px;
	padding: 15px 30px;
	border: 1px solid #e7e7e7;
}

p.woocommerce-thankyou-order-received {
	font-size: 22px;
	font-weight: 700;
}

#photo {
	background-position: center top !important;
}

h1, h2, h3, h4, h5, h6, h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
	line-height: 1.4;
	font-weight: 300;
	color: #121212;
}

h1 span {
	color: #fff;
}

h1 strong, h2 strong, h3 strong, h4 strong, h5 strong, h6 strong, h1 a strong, h2 a strong, h3 a strong, h4 a strong, h5 a strong, h6 a strong {
	font-weight: 700;
}

h1 {
	float: left;
	width: 100%;
	text-align: center;
	font-weight: bold;
	margin: 0 0 0 0;
	color: #f6f7f9;
}

a.vc_btn3-color-white {
	font-weight: bold;
	color: var(--primary-color) !important;
	border: 1px solid var(--primary-color) !important;
	background: #fff !important;
}

a.vc_btn3-color-white:hover {
	color: #fff !important;
	background: var(--primary-color) !important;
}

a.vc_btn3-color-peacoc {
	font-weight: bold;
	color: #fff !important;
	border: 1px solid #fff !important;
	background: var(--primary-color) !important;
}

a.vc_btn3-color-peacoc:hover {
	color: var(--primary-color) !important;
	background: #fff !important;
}

/* Contact Form 7 - HorecaHero */
.wpcf7-form {
	font-size: 14px;
	color: var(--dynamic-text-color);
}

.wpcf7-form p {
	margin: 0 0 18px;
}

.wpcf7-form label {
	display: block;
	margin: 0;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.45;
	color: var(--primary-color);
}

.wpcf7-form .wpcf7-form-control-wrap {
	display: block;
	margin-top: 7px;
}

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="url"],
.wpcf7-form input[type="number"],
.wpcf7-form input[type="date"],
.wpcf7-form input[type="search"],
.wpcf7-form select,
.wpcf7-form textarea {
	display: block;
	width: 100%;
	min-height: 48px;
	margin: 0;
	padding: 12px 14px;
	border: 1px solid #dfe5e2;
	border-radius: 9px;
	outline: none;
	background: #f6faf8;
	box-shadow: none;
	color: #172c2b;
	font: inherit;
	font-weight: 400;
	line-height: 1.45;
	transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

.wpcf7-form textarea {
	min-height: 120px;
	resize: vertical;
}

.wpcf7-form select {
	cursor: pointer;
}

.wpcf7-form input[type="text"]:hover,
.wpcf7-form input[type="email"]:hover,
.wpcf7-form input[type="tel"]:hover,
.wpcf7-form input[type="url"]:hover,
.wpcf7-form input[type="number"]:hover,
.wpcf7-form input[type="date"]:hover,
.wpcf7-form input[type="search"]:hover,
.wpcf7-form select:hover,
.wpcf7-form textarea:hover {
	border-color: #cfd9d5;
	background: #fff;
}

.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form input[type="tel"]:focus,
.wpcf7-form input[type="url"]:focus,
.wpcf7-form input[type="number"]:focus,
.wpcf7-form input[type="date"]:focus,
.wpcf7-form input[type="search"]:focus,
.wpcf7-form select:focus,
.wpcf7-form textarea:focus {
	border-color: var(--primary-color);
	background: #fff;
	box-shadow: 0 0 0 3px rgba(26,73,72,.08);
}

.wpcf7-form input::placeholder,
.wpcf7-form textarea::placeholder {
	color: #8b9694;
	font-weight: 400;
	opacity: 1;
	text-align: left;
}

.wpcf7-form input[type="checkbox"],
.wpcf7-form input[type="radio"] {
	width: auto !important;
	margin: 0 7px 0 0;
	accent-color: var(--primary-color);
}

.wpcf7-form .wpcf7-list-item {
	margin: 0 16px 6px 0;
}

.wpcf7-form .wpcf7-list-item label {
	display: inline-flex;
	align-items: center;
	font-weight: 500;
	color: #4d5756;
	cursor: pointer;
}

.wpcf7-form input[type="file"] {
	display: block;
	width: 100%;
	padding: 11px 12px;
	border: 1px dashed #cfd9d5;
	border-radius: 9px;
	background: #f6faf8;
	color: #4d5756;
}

.wpcf7-form input.wpcf7-submit {
	display: inline-block;
	min-height: 48px;
	margin: 4px 0 0;
	padding: 12px 20px;
	border: 0;
	border-radius: 8px;
	background: #d7ff00;
	box-shadow: none;
	color: var(--primary-color);
	font: inherit;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.2;
	text-align: center;
	cursor: pointer;
	transition: background .18s ease, transform .18s ease;
}

.wpcf7-form input.wpcf7-submit:hover,
.wpcf7-form input.wpcf7-submit:focus {
	background: #c8ed00;
	color: var(--primary-color);
	transform: translateY(-1px);
}

.wpcf7-form input.wpcf7-submit:disabled {
	opacity: .55;
	cursor: wait;
	transform: none;
}

.wpcf7-not-valid-tip {
	margin-top: 6px;
	color: #9f2929;
	font-size: 12px;
	font-weight: 600;
}

.wpcf7 form .wpcf7-response-output {
	margin: 18px 0 0;
	padding: 12px 14px;
	border: 1px solid #dfe5e2;
	border-radius: 8px;
	background: #f6faf8;
	color: #4d5756;
	font-size: 13px;
	font-weight: 600;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
	border-color: #f0c7c7;
	background: #fff0f0;
	color: #9f2929;
}

.wpcf7 form.sent .wpcf7-response-output {
	border-color: #bfe5c4;
	background: #e7f8e8;
	color: #26712f;
}

.wpcf7 .wpcf7-spinner {
	margin: 0 0 0 10px;
	vertical-align: middle;
}

@media (max-width: 600px) {
	.wpcf7-form input.wpcf7-submit {
		width: 100%;
	}
}

main .wpb_single_image .vc_single_image-wrapper.vc_box_rounded img {
	-webkit-border-radius: 40px;
	-moz-border-radius: 40px;
	border-radius: 40px;
}

.toggle-button {
	position: relative;
	z-index: 9999999999999;
	float: right;
	margin: 0 5px 0 0;
	padding: 10px 5px 0;
	color: #fff;
	border: none;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
}

.slideout-menu {
	position: fixed;
	top: 0;
	bottom: 0;
	right: 0;
	z-index: 0;
	width: 256px;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
	display: none;
}

.menu-widget, .menu-widget a {
	color: #fff;
}

.slideout-panel {
	position: relative;
	overflow: hidden;
	padding: 10px;
	z-index: 1;
	background: #fbf7f1;
}

.slideout-open, .slideout-open body, .slideout-open .slideout-panel {
	overflow: hidden;
	-moz-box-shadow: 0 23px 22px rgba(0, 0, 0, 0.2);
	-webkit-box-shadow: 0 23px 22px rgba(0, 0, 0, 0.2);
	box-shadow: 0 23px 22px rgba(0, 0, 0, 0.2);
	border-radius: 20px;
}

.slideout-open .slideout-menu {
	background: var(--primary-color);
	display: flex;
	align-items: center;
}

.fader {
	display: none;
	transition: 0.5s all;
}

html.slideout-open .fader {
	display: block;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
	background-color: rgba(0, 0, 0, 0.7);
	position: absolute;
	z-index:99999999;
	animation: 1.5s;
}

.menu-widget img {
	padding: 25px;
}

nav#menu {
	padding: 15px;
}

nav#menu h3 {
	display: inline-block;
	padding: 3px 10px;
	color: #181818;
	background: #fff;
}

nav#menu ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
	font-size: 16px;
}

nav#menu ul li {
	float: left;
	width: 100%;
	margin: 5px 0;
	text-align: center;
}

.menu-widget .widget_media_image {
	text-align: center;
}

nav#menu ul li.cta-1 a, a.mobile-cta-button, a.mobile-cta-button:hover {
	margin: 10px;
	padding: 10px 20px;
	border-bottom: 3px solid rgba(0,0,0,.2);
	border-radius: 10px;
	color: #01454E;
	font-weight: 600;
	background: #35e98a;
}

a.mobile-cta-button {
	display: inline-block;
}

nav#menu ul.nav-adress {
	float: left;
	width: 100%;
	margin-top: 25px;
	color: #fff;
	font-size: 14px;
}

nav#menu ul.nav-adress li {
	margin: 0;
}

nav#menu ul li a {
	display: inline-block;
	padding: 5px;
	color: #fff;
}

nav#menu ul ul {
	float: left;
	background: rgba(0, 0, 0, 0.3);
	border-radius: 25px;
}

nav#menu ul ul li {
	font-size: 14px;
}

nav#menu ul ul li a::before {
	content: "\00BB \009B";
	margin: 0 5px 0 0;
}

nav#menu ul li.current-menu-item {
	cursor: default;
	font-weight: bold;
}

nav#desktop {
	display: none;
}

.submenu .h-submenu {
	float: left;
	width: 100%;
	margin: 0;
	padding: 10px 0;
	background: #4F515F;
	list-style-type: none;
	text-align: center;
}

.submenu .h-submenu li {
	display: inline-block;
}

.submenu .h-submenu li a {
	padding: 5px 10px;
	color: #fff;
}

.clear:before, .clear:after {
	content:' ';
	display:table;
}

.clear:after {
	clear:both;
}

.clear {
	*zoom:1;
}

img {
	height: auto;
	width: 100%;
	max-width:100%;
	vertical-align:bottom;
}

a {
	color: #881c57;
	text-decoration:none;
	cursor: pointer;
}

a:hover {
	color: #881c57;
	cursor: pointer;
}

a:focus, a:hover, a:active {
	outline:0;
	background: none;
}

main .wpb_text_column a {
	display: inline-block;
	position: relative;
}

main .wpb_text_column a::after {
	content: '';
	position: absolute;
	width: 110%;
	transform: scaleX(0);
	height: 100%;
	bottom: 0;
	left: -5%;
	z-index: -1;
	background-color: #fff;
	transform-origin: bottom right;
	transition: transform 0.25s ease-out;
}

main .wpb_text_column a:visited::after {
	background-color: #fff;
}

main .wpb_text_column a:hover {
	color: var(--primary-color);
	text-decoration: none;
}

main .wpb_text_column a:hover::after {
	transform: scaleX(1);
	transform-origin: bottom left;
}

input:focus {
	outline:0;
	border:1px solid #4F515F;
}

iframe {
	max-width: 100% !important;
}

.animate-img, .animate-img-home {
	background: url(images/bg-shadow.png) no-repeat center bottom;
	background-size: 100%;
}

.animate-img img {
	margin-top: 25px;
	-webkit-animation: mover 4s infinite alternate;
	animation: mover 1.5s infinite alternate;
}

@-webkit-keyframes mover {
	0% {
		transform: translateY(0);
	}

	100% {
		transform: translateY(-20px);
	}
}

@keyframes mover {
	0% {
		transform: translateY(0);
	}

	100% {
		transform: translateY(-20px);
	}
}

p#breadcrumbs {
	float: left;
	width: 100%;
	margin: 0;
	padding: 15px 15px 15px 0;
	text-align: center;
	font-size: 12px;
}

.home p#breadcrumbs {
	display: none;
}

p#breadcrumbs a {
	display: inline-block;
	margin: 5px;
	padding: 5px 12px;
	color: #fff;
	border: 1px solid #fff;
	-webkit-border-radius: 100px;
	-moz-border-radius: 100px;
	border-radius: 100px;
}

.single-post p#breadcrumbs a {
	color: #4F515F;
	background: #ebebee;
}

span.breadcrumb_last {
	margin: 0 0 0 5px;
}

.wrapper {
	float: left;
	width: 100%;
	padding: 0;
}

.container {
	margin:0;
	padding: 0;
	position:relative;
}

.topheader {
	width: 100%;
	float: left;
	padding: 10px 15px;
	margin: 0;
}

.topheader-inner {
	max-width: var(--site-container-max);
	margin: 0 auto;
	padding: 0;
}

ul.toplinks {
	display: block;
	float: right;
	margin: 0;
	padding: 0;
	list-style-type: none;
}

ul.toplinks li {
	float: left;
	margin: 0 5px;
	font-size: 14px;
}

ul.toplinks li a {
	display: inline-flex !important;
	align-items: center !important;
	gap: 4px !important;
	opacity: 1;
	padding: 3px 10px;
	color: #fff;
	font-size: 12px;
	background: rgba(255,255,255,.15);
	border-radius: 20px;
}

ul.toplinks li a svg {
	width: 16px !important;
	height: 16px !important;
	flex: 0 0 auto;
}

ul.toplinks li a:hover {
	opacity: 1;
}

ul.toplinks li a.login i {
	font-size: 30px;
}

.header-container {
	padding: 0 20px;
}

.header {
	position: static;
	float: left;
	width: 100%;
	margin-bottom: 15px;
	z-index: 9999999;
	background: var(--primary-color);
	border-radius: 15px;
}

body.single .header {
	background-size: cover;
	background-position: center center;
	min-height: 300px;
}

.indexheader h1, p#breadcrumbs {
	color: #fff;
}

.full-page-header {
	float: left;
	width: 100%;
	text-align: center;
}

.full-page-header .title-info {
	position: relative;
	display: inline-block;
	width: 100%;
	max-width: 900px;
	margin: -50px 0 0;
	padding: 4rem;
	text-align: left;
	background: #fff;
	-moz-box-shadow: 0 10px 21px rgba(0, 0, 0, 0.1);
	-webkit-box-shadow: 0 10px 21px rgba(0, 0, 0, 0.1);
	box-shadow: 0 10px 21px rgba(0, 0, 0, 0.1);
	z-index: 999;
	border-radius: 15px;
}

.full-page-header .title-info, .full-page-header .title-info h1 {
	color: #181818;
	text-align: left;
}

.full-page-header p#breadcrumbs {
	text-align: left;
}

.blog-info {
	float: left;
	width: 100%;
	display: flex;
	align-items: center;
}

.full-header-bg {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	background-position: center center;
	background-size: cover;
}

.logo {
	float: left;
}

.logo-img {
	max-height:55px;
	width: auto;
	margin-top: 10px;
}

.home-slogan {
	display: none;
	float: left;
	width: 100%;
	line-height: 1.2;
	font-size: 32px;
	color: #fff;
}

header form.search {
	float: right;
	margin: 10px 0 0;
}

header form.search .search-input {
	width: 75px;
	padding: 12px 14px 10px;
	font-size: 12px;
	-webkit-border-radius: 50px;
	-moz-border-radius: 50px;
	border-radius: 50px;
	color: #fff;
	background: none !important;
	border: 2px solid #fff;
}

header form.search button.search-submit {
	color: #fff;
	background: none;
	border: none;
}

header form.search i {
	font-size: 18px;
}

.heading {
	float: left;
	width: 100%;
	background: #181818;
	padding: 0;
}

main {
	float: left;
	width: 100%;
	color: #121212;
	background: none;
}

main .dark-content, main .dark-content h2, main .dark-content h3, main .dark-content h4, main .dark-content h5, main .dark-content h6 {
	color: #181818;
}

main.posts {
	background: none;
}

.inner-content {
	float: left;
	width: 100%;
	padding: 15px 0;
	background: none;
}

.masonry .inner-content {
	padding: 15px;
}

.active h3 a {
	color: #c16232;
}

.masonry {
	float: left;
	width: 100%;
	display: block;
	margin-top: 25px;
}

.masonry, .masonry h2 a {
	color: #181818;
}

.masonry h2 a {
	font-weight: bold;
}

.posts article {
	position: relative;
	overflow: hidden;
	float: left;
	width: 94%;
	margin: 0 3% 20px;
	background: #fff;
	border-radius: 15px;
}

main.posts a.featured-image {
	float: left;
	width: 100%;
	position: relative;
}

span.category a, span.tags a {
	float: left;
	display: inline-block;
	margin: 0 0 10px 0;
	padding: 5px 12px;
	font-size: 14px;
	-webkit-border-radius: 100px;
	-moz-border-radius: 100px;
	border-radius: 100px;
	color: #181818;
	background: #ebebee;
}

span.tags {
	float: left;
	width: 100%;
	margin: 10px 0 35px;
}

span.tags a {
	margin: 15px;
}

img.avatar {
	float: left;
	margin: 0 15px 0 0;
	max-width: 50px;
	-webkit-border-radius: 300px;
	-moz-border-radius: 300px;
	border-radius: 300px;
}

.masonry img.avatar {
	margin: 0;
	max-width: 50px;
	position: absolute;
	bottom: -25px;
	right: 25px;
	border: 2px solid #fff;
}

article span.author, article span.comments, article span.date {
	display: inline-block;
	padding: 5px 8px;
	font-size: 11px;
}

article span.author i, article span.comments i, article span.date i {
	margin: 0 5px 0 0;
}

span.author, span.comments, span.date {
	display: inline-block;
	margin: 0 10px 0 0;
	padding: 5px 10px;
	color: #181818;
}

span.date {
	display: none;
	opacity: 0.7;
	font-size: 14px;
}

span.author a {
	color: #181818;
}

.posts article h2 {
	border-top: 1px solid #ebecec;
	margin-top: 15px;
	padding-top: 15px;
}

.similar-posts article h3 {
	margin: 10px;
}

.similar-posts article h3 a {
	color: #181818;
	font-weight: bold;
}

a.view-more {
	position: absolute;
	float: right;
	right: 0;
	bottom: 0;
	padding: 8px 14px;
	font-size: 14px;
	font-weight: bold;
	color: #fff;
	background: var(--primary-color);
	-webkit-border-radius: 15px 0 0;
	-moz-border-radius: 15px 0 0;
	border-radius: 15px 0 0;
}

.post-tags {
	float: left;
	width: 100%;
	margin: 10px 0;
	font-size: 14px;
}

.post-tags a {
	display: inline-block;
	margin:0 5px;
	padding: 2px 10px;
	color: #fff;
	border-radius: 100px;
	border: 1px solid #fff;
}

.post-category {
	float: left;
	width: 100%;
	margin: 10px 0;
	font-size: 14px;
}

.post-category a {
	display: inline-block;
	margin: 0 5px;
	padding: 2px 10px;
	color: #fff;
	border-radius: 100px;
	border: 1px solid #fff;
}

a.share-whatsapp {
	float: left;
	font-size: 14px;
	display: inline-block;
	margin: 10px 0;
	padding: 2px 10px;
	border-radius: 100px;
	border: 1px solid #fff;
}

#relatedposts {
	float: left;
	width: 100%;
	margin: 15px 0;
}

#relatedposts ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
}

.related-post {
	float: left;
	width: 100%;
	margin-top: 25px;
	background: #fff;
}

.relatedcontent {
	padding: 0 15px 15px;
}

main .vc_toggle {
	margin: 0;
	padding: 20px 0;
	border-bottom: 1px solid #cad5dc;
}

main .vc_toggle_title h4 {
	display: block;
	margin: 0;
	color: #263239;
}

.es-text-shortener {
	font-size: 13px !important;
	line-height: 1.6;
}

.es-review-source-source-name {
	font-size: 13px !important;
}

.elfsight-widget-logo-showcase {
	background: linear-gradient(to bottom, rgba(255,255,255,0) 0%,rgba(255,255,255,0) 1%,rgba(255,255,255,1) 50%,rgba(255,255,255,0) 100%);
}

.elfsight-widget-logo-showcase img {
	opacity: 0.4;
}

.sidebar {
	float: left;
	padding: 15px;
	background: #fff;
}

.sidebar-widget {
	float: left;
	width: 100%;
}

.downloads {
	float: left;
	width: 100%;
	margin: 0 0 25px;
	text-align: center;
}

.downloads img {
	max-height: 40px;
	width: auto;
	margin: 0 7px;
}

.sidebar h3 {
	margin: 0;
	padding: 0;
}

.sidebar ul {
	padding: 0;
	list-style-type: none;
}

.sidebar ul li {
	float: left;
	width: 100%;
	margin: 0 0 10px 0;
	padding: 0 0 15px 0;
	border-bottom: 1px solid #ebecec;
}

.sidebar .widget_recent_entries ul li span.post-date {
	display: table;
	margin: 5px 0 0;
	padding: 3px 6px;
	font-size: 11px;
	background: #ebecec;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
}

#text-2.widget_text, #text-3.widget_text, #text-4.widget_text, #text-5.widget_text, #text-6.widget_text {
	float: left;
	width: 100%;
	margin: 0 0 25px;
	padding: 15px;
	font-size: 14px;
	text-align: center;
}

.widget_text a {
	text-decoration: underline;
}

.pagination {
	float: left;
	width: 100%;
	text-align: center;
}

.pagination a {
	margin: 0 5px;
}

.demo-column {
	text-align: center;
	font-size: 48px;
}

body .vc_tta-container {
	background: #fff;
	padding: 10px;
	border-radius: 20px;
}

.vc_tta-panels-container {
	color: #181818;
}

.vc_tta-panels-container h2, .vc_tta-panels-container h3, .vc_tta-panels-container h4 {
	color: var(--primary-color);
}

.vc_tta-tabs-container {
	background: #263238;
	padding: 10px;
	border-radius: 15px;
}

body .vc_tta.vc_tta-shape-rounded .vc_tta-tab > a {
	padding: 10px 15px;
	font-size: 16px;
	border-radius: 10px;
}

body .vc_tta-color-black.vc_tta-style-flat .vc_tta-tab.vc_active > a {
	color: #181818;
	background-color: #fff;
}

p#billing_address_2_field, p#billing_country_field, span.required, .woocommerce-input-wrapper .description {
	display: none !important;
}

.hh-payment-box .shop_table {
	text-align: left;
}

.payment_box p {
	margin-top: 0;
}

.hh-checkout-box input.input-text, .hh-checkout-box textarea, .hh-checkout-box select, .hh-payment-box input.input-text, .hh-payment-box textarea, .hh-payment-box select, .select2-container .select2-selection--single .select2-selection__rendered {
	border-radius: 100px !important;
}

#add_payment_method #payment ul.payment_methods li img, .woocommerce-cart #payment ul.payment_methods li img, .woocommerce-checkout #payment ul.payment_methods li img {
	max-width: 50px;
}

.woocommerce-NoticeGroup, .woocommerce-notices-wrapper {
	grid-column: 1 / -1;
	width: 100%;
}

.woocommerce-message, .woocommerce-info, .woocommerce-error {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	margin: 0 0 34px !important;
	padding: 22px 26px 22px 68px !important;
	background: #fff !important;
	border: 1px solid #e7e7e7 !important;
	border-left: 6px solid #89b42c !important;
	border-top: 0 !important;
	border-radius: 14px !important;
	box-shadow: 0 1px 0 rgba(0,0,0,.04);
	color: #333 !important;
	font-size: 18px;
	line-height: 1.45;
	list-style: none !important;
}

.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before {
	position: absolute;
	left: 26px;
	top: 50%;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	margin: 0 !important;
	border-radius: 999px;
	background: #89b42c;
	color: #fff !important;
	font-size: 16px;
	font-weight: 600;
	line-height: 1;
}

.woocommerce-message::before {
	content: "✓" !important;
}

.woocommerce-info {
	border-left-color: #111 !important;
}

.woocommerce-info::before {
	content: "i" !important;
	background: #111;
}

.woocommerce-error {
	display: block;
	border-left-color: #c02b78 !important;
	color: #111 !important;
}

.woocommerce-error::before {
	content: "!" !important;
	background: #c02b78;
}

.woocommerce-error li {
	margin: 0 0 8px !important;
	padding: 0 !important;
	list-style: none !important;
}

.woocommerce-error li:last-child {
	margin-bottom: 0 !important;
}

a.restore-item {
	display: none;
}

.woocommerce-message .button, .woocommerce-info .button, .woocommerce-error .button, .woocommerce-message .wc-forward, .woocommerce-info .wc-forward, .woocommerce-error .wc-forward {
	order: 2;
	flex: 0 0 auto;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 22px !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: #111 !important;
	color: #fff !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	white-space: nowrap;
}

.woocommerce-message .button:hover, .woocommerce-info .button:hover, .woocommerce-error .button:hover, .woocommerce-message .wc-forward:hover, .woocommerce-info .wc-forward:hover, .woocommerce-error .wc-forward:hover {
	background: #000 !important;
	color: #fff !important;
	transform: translateY(-1px);
}

.hh-inschrijven .woocommerce-message, .hh-inschrijven .woocommerce-info, .hh-inschrijven .woocommerce-error {
	width: 100%;
	box-sizing: border-box;
}

@media (max-width: 700px) {
	.woocommerce-message, .woocommerce-info, .woocommerce-error {
		display: block;
		margin-bottom: 24px !important;
		padding: 20px 20px 20px 58px !important;
		font-size: 16px;
	}

	.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before {
		left: 20px;
		top: 23px;
		transform: none;
		width: 26px;
		height: 26px;
		font-size: 15px;
	}

	.woocommerce-message .button, .woocommerce-info .button, .woocommerce-error .button, .woocommerce-message .wc-forward, .woocommerce-info .wc-forward, .woocommerce-error .wc-forward {
		width: 100%;
		margin-top: 16px !important;
	}
}

a.button.wc-forward {
	display: none !important;
}

body.woocommerce-account main .woocommerce, body.woocommerce-account .entry-content > .woocommerce, body.woocommerce-account .woocommerce {
	width: min(100% - 48px, 1280px) !important;
	margin: 0 auto !important;
	padding: 0 !important;
	display: grid !important;
	grid-template-columns: 300px minmax(0, 1fr) !important;
	gap: 42px !important;
	align-items: start !important;
	color: #111;
	clear: both !important;
}

body.woocommerce-account .woocommerce::before, body.woocommerce-account .woocommerce::after, body.woocommerce-account .woocommerce-MyAccount-navigation::before, body.woocommerce-account .woocommerce-MyAccount-navigation::after, body.woocommerce-account .woocommerce-MyAccount-content::before, body.woocommerce-account .woocommerce-MyAccount-content::after, body.woocommerce-account .woocommerce-Addresses::before, body.woocommerce-account .woocommerce-Addresses::after {
	display: none !important;
	content: none !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation, body.woocommerce-account .woocommerce-MyAccount-content {
	float: none !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	clear: none !important;
	box-sizing: border-box !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation {
	grid-column: 1 !important;
	background: #fff;
	border: 1px solid #e7e7e7;
	border-radius: 18px;
	padding: 18px;
	box-shadow: 0 1px 0 rgba(0,0,0,.04);
	position: sticky;
	top: 120px;
	align-self: start;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 46px;
	padding: 0 16px;
	border-radius: 999px;
	color: #8d1e61;
	text-decoration: none;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.2;
	transition: .18s ease;
}

body.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
	background: #fff4f9;
	color: #c02b78;
	transform: translateX(2px);
	text-decoration: none;
}

body.woocommerce-account .woocommerce-MyAccount-navigation .is-active a {
	background: #111;
	color: #fff;
}

body.woocommerce-account .woocommerce-MyAccount-navigation .is-active a:hover {
	background: #000;
	color: #fff;
}

body.woocommerce-account .woocommerce-MyAccount-navigation a::after {
	content: "›";
	font-size: 20px;
	line-height: 1;
	opacity: .45;
}

body.woocommerce-account .woocommerce-MyAccount-navigation .is-active a::after {
	opacity: 1;
}

body.woocommerce-account .woocommerce-MyAccount-content {
	grid-column: 2 !important;
	background: #fff;
	border: 1px solid #e7e7e7;
	border-radius: 18px;
	padding: 30px;
	box-shadow: 0 1px 0 rgba(0,0,0,.04);
	min-width: 0 !important;
	overflow: visible !important;
}

body.woocommerce-account .woocommerce-MyAccount-content > p:first-child {
	margin-top: 0;
}

body.woocommerce-account .woocommerce-MyAccount-content p {
	font-size: 16px;
	line-height: 1.55;
	color: #333;
}

body.woocommerce-account .woocommerce-MyAccount-content a {
	color: #c02b78;
	font-weight: 800;
	text-decoration: none;
}

body.woocommerce-account .woocommerce-MyAccount-content a:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

body.woocommerce-account .woocommerce-MyAccount-content h2, body.woocommerce-account .woocommerce-MyAccount-content h3, body.woocommerce-account .woocommerce-order-details__title, body.woocommerce-account .woocommerce-column__title {
	margin: 0 0 22px;
	font-size: 26px;
	line-height: 1.1;
	font-weight: 600;
	color: #111;
	letter-spacing: -0.03em;
}

body.woocommerce-account .woocommerce table.shop_table, body.woocommerce-account .woocommerce table.shop_table_responsive {
	width: 100% !important;
	border: 1px solid #e7e7e7 !important;
	border-radius: 14px;
	overflow: hidden;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	margin: 0 0 28px !important;
	background: #fff;
	box-shadow: 0 1px 0 rgba(0,0,0,.04);
}

body.woocommerce-account .woocommerce table.shop_table thead, body.woocommerce-account .woocommerce table.shop_table_responsive thead {
	background: #fafafa;
}

body.woocommerce-account .woocommerce table.shop_table th, body.woocommerce-account .woocommerce table.shop_table td, body.woocommerce-account .woocommerce table.shop_table_responsive th, body.woocommerce-account .woocommerce table.shop_table_responsive td {
	border: 0 !important;
	border-bottom: 1px solid #eee !important;
	padding: 15px 18px !important;
	font-size: 15px;
	line-height: 1.35;
	color: #222;
	vertical-align: middle;
}

body.woocommerce-account .woocommerce table.shop_table tr:last-child th, body.woocommerce-account .woocommerce table.shop_table tr:last-child td, body.woocommerce-account .woocommerce table.shop_table_responsive tr:last-child th, body.woocommerce-account .woocommerce table.shop_table_responsive tr:last-child td {
	border-bottom: 0 !important;
}

body.woocommerce-account .woocommerce table.shop_table th, body.woocommerce-account .woocommerce table.shop_table_responsive th {
	font-size: 14px;
	font-weight: 600;
	color: #111;
	text-align: left;
}

body.woocommerce-account .woocommerce-orders-table {
	font-size: 15px;
}

body.woocommerce-account .woocommerce-orders-table__cell-order-number a {
	color: #c02b78 !important;
	font-weight: 600;
	text-decoration: none;
}

body.woocommerce-account .woocommerce-orders-table__cell-order-number a:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

body.woocommerce-account .woocommerce-orders-table__cell-order-status {
	font-weight: 800;
	color: #333;
}

body.woocommerce-account .woocommerce-orders-table__row--status-completed .woocommerce-orders-table__cell-order-status, body.woocommerce-account .woocommerce-orders-table__row--status-processing .woocommerce-orders-table__cell-order-status {
	color: #2f7d32;
}

body.woocommerce-account .woocommerce-orders-table__row--status-on-hold .woocommerce-orders-table__cell-order-status {
	color: #a46a00;
}

body.woocommerce-account .woocommerce-orders-table__row--status-cancelled .woocommerce-orders-table__cell-order-status, body.woocommerce-account .woocommerce-orders-table__row--status-failed .woocommerce-orders-table__cell-order-status {
	color: #9f1d1d;
}

body.woocommerce-account .woocommerce .button, body.woocommerce-account .woocommerce a.button, body.woocommerce-account .woocommerce button.button, body.woocommerce-account .woocommerce input.button, body.woocommerce-account .woocommerce .woocommerce-button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0 20px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: #111 !important;
	color: #fff !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	box-shadow: none !important;
	cursor: pointer;
	transition: .18s ease;
}

body.woocommerce-account .woocommerce .button:hover, body.woocommerce-account .woocommerce a.button:hover, body.woocommerce-account .woocommerce button.button:hover, body.woocommerce-account .woocommerce input.button:hover, body.woocommerce-account .woocommerce .woocommerce-button:hover {
	background: #000 !important;
	color: #fff !important;
	transform: translateY(-1px);
	text-decoration: none !important;
}

body.woocommerce-account .woocommerce-orders-table__cell-order-actions .button {
	min-height: 36px;
	padding: 0 17px !important;
	font-size: 13px !important;
}

body.woocommerce-account .woocommerce-order-details {
	margin-bottom: 28px;
}

body.woocommerce-account .woocommerce-MyAccount-content mark {
	background: #fff4f9;
	color: #c02b78;
	border-radius: 8px;
	padding: 2px 7px;
	font-weight: 600;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-order-details table.shop_table {
	margin-top: 18px;
}

body.woocommerce-account .woocommerce td.product-name, body.woocommerce-account .woocommerce th.product-name {
	width: auto;
}

body.woocommerce-account .woocommerce td.product-total, body.woocommerce-account .woocommerce th.product-total, body.woocommerce-account .woocommerce td.woocommerce-orders-table__cell-order-total, body.woocommerce-account .woocommerce th.woocommerce-orders-table__header-order-total {
	text-align: left;
	white-space: nowrap;
}

body.woocommerce-account .woocommerce table.shop_table tfoot th, body.woocommerce-account .woocommerce table.shop_table tfoot td {
	font-weight: 600;
	background: #fafafa;
}

body.woocommerce-account .woocommerce table.shop_table .wc-item-meta, body.woocommerce-account .woocommerce table.shop_table dl.variation {
	margin: 14px 0 0;
	padding: 0;
	display: grid;
	gap: 8px;
}

body.woocommerce-account .woocommerce table.shop_table .wc-item-meta li, body.woocommerce-account .woocommerce table.shop_table dl.variation dt, body.woocommerce-account .woocommerce table.shop_table dl.variation dd {
	margin: 0;
	padding: 0;
	font-size: 14px;
	line-height: 1.45;
	color: #333;
}

body.woocommerce-account .woocommerce table.shop_table .wc-item-meta strong, body.woocommerce-account .woocommerce table.shop_table dl.variation dt {
	font-weight: 600;
	color: #111;
}

body.woocommerce-account .woocommerce table.shop_table .wc-item-meta p, body.woocommerce-account .woocommerce table.shop_table dl.variation p {
	margin: 0;
}

body.woocommerce-account .woocommerce-MyAccount-content > p {
	margin: 0 0 24px;
	font-size: 17px;
	line-height: 1.55;
	color: #333;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 24px !important;
	margin: 28px 0 0 !important;
	width: 100% !important;
	max-width: none !important;
	clear: both !important;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address, body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .u-column1, body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .u-column2, body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .col-1, body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .col-2 {
	float: none !important;
	width: auto !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 0 !important;
	clear: none !important;
	box-sizing: border-box !important;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address {
	background: #fff !important;
	border: 1px solid #e7e7e7 !important;
	border-radius: 18px !important;
	padding: 26px !important;
	box-shadow: 0 1px 0 rgba(0,0,0,.04) !important;
	overflow: hidden !important;
	min-height: 240px !important;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	gap: 14px !important;
	margin: 0 0 28px !important;
	width: 100% !important;
	text-align: left !important;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title h3 {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	font-size: 24px !important;
	line-height: 1.1 !important;
	font-weight: 600 !important;
	letter-spacing: -0.03em !important;
	color: #111 !important;
	text-align: left !important;
	word-break: normal !important;
	overflow-wrap: normal !important;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title a {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	align-self: flex-start !important;
	width: auto !important;
	max-width: 100% !important;
	min-height: 34px !important;
	margin: 0 !important;
	padding: 0 14px !important;
	border-radius: 999px !important;
	background: #fff4f9 !important;
	color: #c02b78 !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	flex: 0 0 auto !important;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title a:hover {
	background: #c02b78 !important;
	color: #fff !important;
	text-decoration: none !important;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address address {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	margin-top: 8px !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	font-style: normal !important;
	font-size: 16px !important;
	line-height: 1.65 !important;
	color: #333 !important;
	word-break: normal !important;
	overflow-wrap: anywhere !important;
	white-space: normal !important;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address address br {
	display: block;
	content: "";
	margin-bottom: 2px;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper {
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
	box-shadow: none !important;
}

body.woocommerce-account .woocommerce form .form-row {
	margin: 0 0 18px !important;
	padding: 0 !important;
}

body.woocommerce-account .woocommerce form .form-row label {
	display: block;
	margin: 0 0 8px;
	font-size: 14px;
	font-weight: 600;
	color: #111;
}

body.woocommerce-account .woocommerce form .form-row input.input-text, body.woocommerce-account .woocommerce form .form-row textarea, body.woocommerce-account .woocommerce form .form-row select {
	width: 100%;
	min-height: 52px;
	border: 1px solid #e7e7e7;
	border-radius: 999px;
	padding: 0 18px;
	background: #fff;
	color: #111;
	font-size: 15px;
	outline: none;
}

body.woocommerce-account .woocommerce form .form-row textarea {
	border-radius: 16px;
	min-height: 120px;
	padding: 16px 18px;
}

body.woocommerce-account .woocommerce form .form-row input.input-text:focus, body.woocommerce-account .woocommerce form .form-row textarea:focus, body.woocommerce-account .woocommerce form .form-row select:focus {
	border-color: #c02b78;
	box-shadow: 0 0 0 3px rgba(192,43,120,.08);
}

body.woocommerce-account .woocommerce-EditAccountForm, body.woocommerce-account .woocommerce-address-fields {
	background: #fff;
	border: 1px solid #e7e7e7;
	border-radius: 18px;
	padding: 28px;
	box-shadow: 0 1px 0 rgba(0,0,0,.04);
}

body.woocommerce-account .woocommerce-EditAccountForm fieldset {
	border: 1px solid #e7e7e7;
	border-radius: 14px;
	padding: 22px;
	margin: 24px 0;
}

body.woocommerce-account .woocommerce-EditAccountForm legend {
	padding: 0 8px;
	font-size: 18px;
	font-weight: 600;
	color: #111;
}

body.woocommerce-account .woocommerce-info, body.woocommerce-account .woocommerce-message, body.woocommerce-account .woocommerce-error {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	width: 100%;
	margin: 0 0 28px !important;
	padding: 20px 24px 20px 62px !important;
	background: #fff !important;
	border: 1px solid #e7e7e7 !important;
	border-left: 6px solid #89b42c !important;
	border-radius: 14px !important;
	box-shadow: 0 1px 0 rgba(0,0,0,.04);
	color: #333 !important;
	font-size: 16px;
	line-height: 1.45;
	list-style: none !important;
}

body.woocommerce-account .woocommerce-info::before, body.woocommerce-account .woocommerce-message::before, body.woocommerce-account .woocommerce-error::before {
	position: absolute;
	left: 23px;
	top: 50%;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	margin: 0 !important;
	border-radius: 999px;
	background: #89b42c;
	color: #fff !important;
	font-size: 15px;
	font-weight: 600;
	line-height: 1;
}

body.woocommerce-account .woocommerce-message::before {
	content: "✓" !important;
}

body.woocommerce-account .woocommerce-info {
	border-left-color: #111 !important;
}

body.woocommerce-account .woocommerce-info::before {
	content: "i" !important;
	background: #111;
}

body.woocommerce-account .woocommerce-error {
	display: block;
	border-left-color: #c02b78 !important;
}

body.woocommerce-account .woocommerce-error::before {
	content: "!" !important;
	background: #c02b78;
}

body.woocommerce-account .woocommerce-pagination, body.woocommerce-account .woocommerce nav.woocommerce-pagination {
	margin-top: 28px;
}

body.woocommerce-account .woocommerce-pagination ul {
	border: 0 !important;
	display: flex;
	gap: 8px;
	justify-content: center;
	margin: 0;
	padding: 0;
}

body.woocommerce-account .woocommerce-pagination li {
	border: 0 !important;
	list-style: none;
}

body.woocommerce-account .woocommerce-pagination a, body.woocommerce-account .woocommerce-pagination span {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 38px;
	border-radius: 999px;
	background: #fff;
	border: 1px solid #e7e7e7;
	color: #111;
	font-weight: 600;
	text-decoration: none;
}

body.woocommerce-account .woocommerce-pagination .current {
	background: #111;
	color: #fff;
}

@media (max-width: 1000px) {
	body.woocommerce-account main .woocommerce, body.woocommerce-account .entry-content > .woocommerce, body.woocommerce-account .woocommerce {
		grid-template-columns: 1fr !important;
		gap: 24px !important;
	}

	body.woocommerce-account .woocommerce-MyAccount-navigation, body.woocommerce-account .woocommerce-MyAccount-content {
		grid-column: auto !important;
	}

	body.woocommerce-account .woocommerce-MyAccount-navigation {
		position: static;
	}

	body.woocommerce-account .woocommerce-MyAccount-navigation ul {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 10px;
	}

	body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses {
		grid-template-columns: 1fr !important;
	}
}

@media (max-width: 760px) {
	body.woocommerce-account main .woocommerce, body.woocommerce-account .entry-content > .woocommerce, body.woocommerce-account .woocommerce {
		width: min(100% - 28px, 1280px) !important;
	}

	body.woocommerce-account .woocommerce-MyAccount-content {
		padding: 22px;
		border-radius: 14px;
	}

	body.woocommerce-account .woocommerce-MyAccount-navigation {
		padding: 14px;
		border-radius: 14px;
	}

	body.woocommerce-account .woocommerce-MyAccount-navigation ul {
		grid-template-columns: 1fr;
	}

	body.woocommerce-account .woocommerce-MyAccount-navigation a {
		min-height: 44px;
		font-size: 15px;
	}

	body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address {
		padding: 22px !important;
		border-radius: 14px !important;
	}

	body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title {
		display: block !important;
	}

	body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title a {
		margin-top: 14px !important;
		width: 100% !important;
	}

	body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title h3 {
		font-size: 22px !important;
	}

	body.woocommerce-account .woocommerce table.shop_table_responsive, body.woocommerce-account .woocommerce table.shop_table_responsive tbody, body.woocommerce-account .woocommerce table.shop_table_responsive tr, body.woocommerce-account .woocommerce table.shop_table_responsive td, body.woocommerce-account .woocommerce table.shop_table_responsive th {
		display: block;
		width: 100%;
	}

	body.woocommerce-account .woocommerce table.shop_table_responsive thead {
		display: none;
	}

	body.woocommerce-account .woocommerce table.shop_table_responsive tr {
		border-bottom: 1px solid #eee;
		padding: 16px;
	}

	body.woocommerce-account .woocommerce table.shop_table_responsive tr:last-child {
		border-bottom: 0;
	}

	body.woocommerce-account .woocommerce table.shop_table_responsive td, body.woocommerce-account .woocommerce table.shop_table_responsive th {
		border-bottom: 0 !important;
		padding: 7px 0 !important;
		text-align: left !important;
	}

	body.woocommerce-account .woocommerce table.shop_table_responsive td::before, body.woocommerce-account .woocommerce table.shop_table_responsive th::before {
		content: attr(data-title) ": ";
		display: inline-block;
		margin-right: 6px;
		font-weight: 600;
		color: #111;
	}

	body.woocommerce-account .woocommerce-orders-table__cell-order-actions .button {
		width: 100%;
		margin-top: 8px !important;
	}

	body.woocommerce-account .woocommerce-info, body.woocommerce-account .woocommerce-message, body.woocommerce-account .woocommerce-error {
		display: block;
		padding: 20px 20px 20px 58px !important;
		font-size: 15px;
	}

	body.woocommerce-account .woocommerce-info::before, body.woocommerce-account .woocommerce-message::before, body.woocommerce-account .woocommerce-error::before {
		left: 20px;
		top: 22px;
		transform: none;
	}

	body.woocommerce-account .woocommerce-info .button, body.woocommerce-account .woocommerce-message .button, body.woocommerce-account .woocommerce-error .button {
		width: 100%;
		margin-top: 14px !important;
	}
}

.woocommerce-MyAccount-navigation-link--downloads, .woocommerce-Address.col-2, .woocommerce-Address--shipping {
	display: none !important;
}

.woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address.col-1, .woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address--billing {
	width: 100% !important;
	max-width: 100% !important;
	flex: 0 0 100% !important;
}

.woocommerce-Addresses {
	display: block !important;
}

.woocommerce-MyAccount-content {
	overflow: hidden;
}

.woocommerce-MyAccount-content .woocommerce-order-details, .woocommerce-MyAccount-content .woocommerce-customer-details {
	max-width: 100%;
	overflow-x: auto;
}

.woocommerce-MyAccount-content table.shop_table, .woocommerce-MyAccount-content .woocommerce-table {
	width: 100% !important;
	max-width: 100% !important;
	table-layout: fixed;
}

.woocommerce-MyAccount-content table.shop_table td, .woocommerce-MyAccount-content table.shop_table th, .woocommerce-MyAccount-content .woocommerce-table td, .woocommerce-MyAccount-content .woocommerce-table th {
	white-space: normal !important;
	word-break: break-word;
	overflow-wrap: anywhere;
}

.woocommerce-MyAccount-content table.shop_table th.product-name, .woocommerce-MyAccount-content table.shop_table td.product-name, .woocommerce-MyAccount-content .woocommerce-table th.product-name, .woocommerce-MyAccount-content .woocommerce-table td.product-name {
	width: 75%;
}

.woocommerce-MyAccount-content table.shop_table th.product-total, .woocommerce-MyAccount-content table.shop_table td.product-total, .woocommerce-MyAccount-content .woocommerce-table th.product-total, .woocommerce-MyAccount-content .woocommerce-table td.product-total {
	width: 25%;
	text-align: right;
}

.cta-footer {
	float: left;
	width: 100%;
	text-align: center;
}

.cta-footer .inner {
	max-width: 600px;
	padding: 50px 25px 25px;
	border-radius: 25px;
	margin: 0 auto;
}

.cta-footer .inner h2 {
	color: #fff;
}

.footer-container {
	text-align: center;
	background: var(--primary-color);
	margin-top: 0 !important;
	border-radius: 0 0 15px 15px;
}

.footer-container ul.sub-menu {
	display: none !important;
}

.footer {
	float: left;
	width: 100%;
	text-align: center;
	font-size: 12px;
	color: #fff;
}

.footer a {
	color: #fff;
}

.footernav {
	float: left;
	width: 100%;
	margin: 15px 0 0;
	padding: 15px 0;
	text-align: center;
}

.footernav ul {
	padding: 0;
	list-style-type: none;
}

.footernav ul li {
	display: inline;
	padding: 0;
	font-size: 14px;
}

.footernav ul li a {
	display: inline-block;
	padding: 3px 15px;
	border-right: 1px solid rgba(255, 255, 255, 0.3);
	color: #fff;
}

.footernav ul li:last-child a {
	border-right: none;
}

/* Footer onderregel: copyright + juridische links */
.footer-bottom {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px 18px;
	flex-wrap: wrap;
	padding: 0 20px 22px;
}

.footer-bottom .copyright {
	margin: 0;
}

.footer-legal-separator {
	color: rgba(210, 255, 116, .45);
	font-size: 12px;
	line-height: 1;
}

.footer-legal {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	flex-wrap: wrap;
	font-size: 12px;
	color: rgba(255, 255, 255, .5);
}

.footer-legal a {
	color: rgba(255, 255, 255, .68);
	text-decoration: none;
	transition: color .2s ease;
}

.footer-legal a:hover,
.footer-legal a:focus {
	color: #D2FF74;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.footer-legal span {
	color: rgba(210, 255, 116, .45);
}

@media (max-width: 620px) {
	.footer-bottom {
		gap: 7px;
		padding-bottom: 24px;
	}

	.footer-bottom .copyright,
	.footer-legal {
		width: 100%;
	}

	.footer-legal-separator {
		display: none;
	}

	.footer-legal {
		font-size: 11px;
	}
}

#team .wpb_single_image {
	margin-bottom: 0;
}

#team .vc_single_image-wrapper {
	margin: 0 15px;
}

.vc_box_circle img {
	border: 8px solid #e5e5e5;
}

.post-edit-link {
	display: none;
}

@font-face {
	font-family:'Font-Name';
	src:url('fonts/font-name.eot?#iefix') format('embedded-opentype'), url('fonts/font-name.woff') format('woff'), url('fonts/font-name.ttf') format('truetype'), url('fonts/font-name.svg#font-name') format('svg');
	font-weight:normal;
	font-style:normal;
}

@media only screen and (min-width:480px) {
	header form.search {
		margin: 10px 0 0 10px;
	}

	header form.search .search-input {
		width: 145px;
	}
}

@media only screen and (min-width:768px) {
	body {
		font: 300 14px/1.6 "Poppins", "Poppins Fallback", sans-serif;
	}

	.header {
		background: var(--primary-color);
	}

	.home-slogan {
		padding: 25px 25px 0;
		line-height: 1.4;
	}

	body.single .header {
		background-position: center center;
		background-size: cover;
	}

	.curve {
		clip-path: ellipse(66% 100% at 50% 100%);
	}

	.logo {
		float: left;
	}

	main {
		float: none;
		width: 90%;
		margin: 0 auto;
		background: #fff;
		-webkit-border-radius: 15px;
		-moz-border-radius: 15px;
		border-radius: 15px;
	}

	.masonry {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		grid-template-rows: masonry;
	}

	.single .inner-content {
		z-index: 99999;
	}

	.sidebar {
		float: left;
		width: 28%;
		margin-left: 0%;
		background: #fff;
		-webkit-border-radius: 15px;
		-moz-border-radius: 15px;
		border-radius: 15px;
	}

	.related-post {
		float: left;
		width: 48%;
		margin-top: 25px;
		background: #fff;
	}

	li.related-post:nth-child(2) {
		margin-left: 4%;
	}

	.post-edit-link {
		display: inline-block;
		transform: rotate(90deg);
		position: fixed;
		z-index: 999999999;
		right: 0;
		top: 45%;
		font-size: 14px;
		padding: 7px 15px;
		color: #181818 !important;
		background: #fff;
		-webkit-border-radius: 250px;
		-moz-border-radius: 250px;
		border-radius: 250px;
		-moz-box-shadow: 0 23px 22px rgba(0, 0, 0, 0.2);
		-webkit-box-shadow: 0 23px 22px rgba(0, 0, 0, 0.2);
		box-shadow: 0 23px 22px rgba(0, 0, 0, 0.2);
	}
}

@media only screen and (max-width: 769px) {
	.swap-on-mobile {
		display: flex !important;
		flex-direction: column-reverse;
	}
}

@media only screen and (min-width:1024px) {
	.header-container {
		max-width: var(--site-container-max);
		margin: 0 auto;
	}

	.topheader {
		text-align: right;
		margin: 0 auto 5px;
		background: rgba(0,0,0,.1);
		border-radius: 15px 15px 0 0;
	}

	nav#desktop {
		position: relative;
		float: right;
		display: flex;
		margin-top: 0;
		padding: 0;
		border-radius: 17px;
		z-index: 9999 !important;
	}

	nav#desktop.element-is-sticky {
		-moz-box-shadow: 0 23px 22px rgba(0, 0, 0, 0.2);
		-webkit-box-shadow: 0 23px 22px rgba(0, 0, 0, 0.2);
		box-shadow: 0 23px 22px rgba(0, 0, 0, 0.2);
		-webkit-border-radius: 0 0 30px 30px;
		-moz-border-radius: 0 0 30px 30px;
		border-radius: 0 0 30px 30px;
	}

	nav#desktop ul {
		margin: 0;
		padding: 0;
		list-style-type: none;
	}

	nav#desktop a.home-button {
		float: left;
		padding: 10px;
		font-size: 28px;
		color: #f6f7f9;
	}

	body.home nav#desktop a.home-button, nav#desktop a.home-button:hover {
		color: #f6f7f9;
	}

	nav#desktop ul li {
		float: left;
	}

	nav#desktop ul li a {
		display: inline-block;
		padding: 18px;
		font-size: 16px;
		font-weight: bold;
		color: #f6f7f9;
	}

	nav#desktop ul li a:hover {
		text-decoration: underline;
	}

	nav#desktop ul li.current-menu-item a {
		font-weight: bold;
	}

	nav#desktop ul li.current-page-ancestor a {
		text-decoration: underline;
	}

	nav#desktop ul li.menu-item-has-children li a::after {
		display: none;
	}

	nav#desktop ul li.current_page_item a, nav#desktop ul li.current_page_parent a {
		text-decoration: underline;
	}

	nav#desktop ul li.nav-blog, nav#desktop ul li.cta-1 {
		float: right;
	}

	a.mobile-cta-button {
		display: none;
	}

	nav#desktop ul li.cta-1 a {
		float: right;
		margin: 10px;
		padding: 10px 20px;
		border-bottom: 3px solid rgba(0,0,0,.2);
		border-radius: 10px;
		text-decoration: none !important;
		color: #01454E;
		background: #35e98a;
	}

	nav#desktop ul li.cta-2 {
		float: right;
	}

	nav#desktop ul li.cta-2 a {
		float: right;
		margin: 10px 0;
		padding: 10px 20px;
		color: var(--primary-color);
		background: #f4f0eb;
	}

	@keyframes fade-in {
		from {
			opacity: 0;
		}

		to {
			opacity: 1;
		}
	}

	ul.sub-menu {
		display: none;
		left: 3%;
		width: 94%;
		min-width: 200px;
		padding: 0 20px !important;
		position: absolute;
		padding-bottom: 0;
		top: 100%;
		z-index: 99999;
		background: var(--primary-color);
		-moz-box-shadow: 0 23px 15px rgba(0, 0, 0, 0.10);
		-webkit-box-shadow: 0 23px 15px rgba(0, 0, 0, 0.10);
		box-shadow: 0 23px 15px rgba(0, 0, 0, 0.10);
		-webkit-border-radius: 0 0 30px 30px;
		-moz-border-radius: 0 0 30px 30px;
		border-radius: 0 0 30px 30px;
		text-align: center;
		animation-name: fade-in;
		animation-duration: .3s;
	}

	nav#desktop ul.sub-menu li a {
		margin: -5px 0 0;
		padding: 20px 20px 15px;
		border-right: none;
		z-index: 9999999999;
		font-size: 70%;
		color: #fff;
	}

	li.menu-item-has-children:hover > ul.sub-menu {
		display: block;
	}

	body .footer .footernav ul.sub-menu {
		display: none;
	}

	nav.slideout-menu ul.sub-menu li {
		border-bottom: 0;
	}

	nav.slideout-menu ul.sub-menu li a {
		margin: 0;
		padding: 0;
		font-size: 14px;
	}

	.full-page-header .title-info {
		margin: -100px 0 25px;
		border-radius: 30px;
	}

	.homepage-slogan, .homepage-slogan-2 {
		padding: 0 25px;
	}

	.home-slogan {
		padding: 25px 75px 0;
		margin-top: 25px;
		font-size: 40px;
		line-height: 1.6;
	}

	.homepage-slogan-2 {
		font-size: 18px;
	}

	.container {
		max-width: var(--site-container-max);
		margin: 0 auto;
	}

	.single .container {
		max-width: 900px;
	}

	.single main {
		width: 100%;
	}

	.inner-content {
		padding: 0 35px 25px 35px;
	}

	.sidebar {
		padding: 25px;
	}
}

::selection, ::-webkit-selection, ::-moz-selection {
	background:#4F515F;
	color:#FFF;
	text-shadow:none;
}

.alignnone {
	margin:5px 20px 20px 0;
}

.aligncenter, div.aligncenter {
	display:block;
	margin:5px auto 5px auto;
}

.alignright {
	float:right;
	margin:5px 0 20px 20px;
}

.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}

a img.alignright {
	float:right;
	margin:5px 0 20px 20px;
}

a img.alignnone {
	margin:5px 20px 20px 0;
}

a img.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}

a img.aligncenter {
	display:block;
	margin-left:auto;
	margin-right:auto;
}

.wp-caption {
	background:#FFF;
	border:1px solid #F0F0F0;
	max-width:96%;
	padding:5px 3px 10px;
	text-align:center;
}

.wp-caption.alignnone, .wp-caption.alignleft {
	margin:5px 20px 20px 0;
}

.wp-caption.alignright {
	margin:5px 0 20px 20px;
}

.wp-caption img {
	border:0 none;
	height:auto;
	margin:0;
	max-width:98.5%;
	padding:0;
	width:auto;
}

.wp-caption .wp-caption-text, .gallery-caption {
	font-size:11px;
	line-height:17px;
	margin:0;
	padding:0 4px 5px;
}

@media print {
	* {
		background:transparent !important;
		color:#181818 !important;
		box-shadow:none !important;
		text-shadow:none !important;
	}

	a, a:visited {
		text-decoration:underline;
	}

	a[href]:after {
		content:" (" attr(href) ")";
	}

	abbr[title]:after {
		content:" (" attr(title) ")";
	}

	.ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after {
		content:"";
	}

	pre, blockquote {
		border:1px solid #999;
		page-break-inside:avoid;
	}

	thead {
		display:table-header-group;
	}

	tr, img {
		page-break-inside:avoid;
	}

	img {
		max-width:100% !important;
	}

	@page {
		margin:0.5cm;
	}

	p, h2, h3 {
		orphans:3;
		widows:3;
	}

	h2, h3 {
		page-break-after:avoid;
	}
}

.cd-image-container {
	position: relative;
	width: 100%;
	max-width: 768px;
	margin: 0em auto;
	border-radius: 15px;
	overflow: hidden;
	box-shadow: 0 15px 15px rgba(0,0,0,.2);
}

.cd-image-container img {
	display: block;
	border-radius: 15px;
}

.cd-image-label {
	position: absolute;
	bottom: 0;
	right: 0;
	color: #ffffff;
	padding: 1em;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	opacity: 0;
	-webkit-transform: translateY(20px);
	-moz-transform: translateY(20px);
	-ms-transform: translateY(20px);
	-o-transform: translateY(20px);
	transform: translateY(20px);
	-webkit-transition: -webkit-transform 0.3s 0.7s, opacity 0.3s 0.7s;
	-moz-transition: -moz-transform 0.3s 0.7s, opacity 0.3s 0.7s;
	transition: transform 0.3s 0.7s, opacity 0.3s 0.7s;
}

.cd-image-label.is-hidden {
	visibility: hidden;
}

.is-visible .cd-image-label {
	opacity: 1;
	-webkit-transform: translateY(0);
	-moz-transform: translateY(0);
	-ms-transform: translateY(0);
	-o-transform: translateY(0);
	transform: translateY(0);
}

.cd-resize-img {
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 100%;
	overflow: hidden;
	-webkit-transform: translateZ(0);
	-moz-transform: translateZ(0);
	-ms-transform: translateZ(0);
	-o-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.cd-resize-img img {
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	height: 100%;
	width: auto;
	max-width: none;
}

.cd-resize-img .cd-image-label {
	right: auto;
	left: 0;
}

.is-visible .cd-resize-img {
	width: 50%;
	-webkit-animation: cd-bounce-in 0.7s;
	-moz-animation: cd-bounce-in 0.7s;
	animation: cd-bounce-in 0.7s;
}

@-webkit-keyframes cd-bounce-in {
	0% {
		width: 0;
	}

	60% {
		width: 55%;
	}

	100% {
		width: 50%;
	}
}

@-moz-keyframes cd-bounce-in {
	0% {
		width: 0;
	}

	60% {
		width: 55%;
	}

	100% {
		width: 50%;
	}
}

@keyframes cd-bounce-in {
	0% {
		width: 0;
	}

	60% {
		width: 55%;
	}

	100% {
		width: 50%;
	}
}

.cd-handle {
	position: absolute;
	height: 44px;
	width: 44px;
	left: 50%;
	top: 50%;
	margin-left: -22px;
	margin-top: -22px;
	z-index: 999999;
	border-radius: 50%;
	background: var(--primary-color) url("https://learngorilla.com/wp-content/uploads/icon-learngorilla.png") no-repeat center center;
	background-size: 25px 25px;
	cursor: move;
	box-shadow: 0 0 0 6px rgba(0, 0, 0, 0.2), 0 0 10px rgba(0, 0, 0, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.3);
	opacity: 0;
	-webkit-transform: translate3d(0, 0, 0) scale(0);
	-moz-transform: translate3d(0, 0, 0) scale(0);
	-ms-transform: translate3d(0, 0, 0) scale(0);
	-o-transform: translate3d(0, 0, 0) scale(0);
	transform: translate3d(0, 0, 0) scale(0);
}

.cd-handle.draggable {
	background-color: #445b7c;
}

.is-visible .cd-handle {
	opacity: 1;
	-webkit-transform: translate3d(0, 0, 0) scale(1);
	-moz-transform: translate3d(0, 0, 0) scale(1);
	-ms-transform: translate3d(0, 0, 0) scale(1);
	-o-transform: translate3d(0, 0, 0) scale(1);
	transform: translate3d(0, 0, 0) scale(1);
	-webkit-transition: -webkit-transform 0.3s 0.7s, opacity 0s 0.7s;
	-moz-transition: -moz-transform 0.3s 0.7s, opacity 0s 0.7s;
	transition: transform 0.3s 0.7s, opacity 0s 0.7s;
}

.toggle-button .menu {
	width: 45px;
	background-color: transparent;
	border: none;
	cursor: pointer;
	display: flex;
	padding: 0;
}

.toggle-button .line {
	fill: none;
	stroke: #fff;
	stroke-width: 4;
	transition: stroke-dasharray 600ms cubic-bezier(0.4, 0, 0.2, 1), stroke-dashoffset 600ms cubic-bezier(0.4, 0, 0.2, 1);
}

.toggle-button .line1 {
	stroke-dasharray: 60 207;
	stroke-width: 4;
}

.toggle-button .line2 {
	stroke-dasharray: 60 60;
	stroke-width: 4;
	fill: red;
}

.toggle-button .line3 {
	stroke-dasharray: 60 207;
	stroke-width: 4;
}

.toggle-button .opened .line1 {
	stroke-dasharray: 90 207;
	stroke-dashoffset: -134;
	stroke-width: 4;
}

.toggle-button .opened .line2 {
	stroke-dasharray: 1 60;
	stroke-dashoffset: -30;
	stroke-width: 4;
}

.toggle-button .opened .line3 {
	stroke-dasharray: 90 207;
	stroke-dashoffset: -134;
	stroke-width: 4;
}

/* =========================================================
   HorecaHero account login / registratie refresh v2.0.37
   - dezelfde strakke accountstijl als het bestellersdashboard
   - minder ronde hoeken
   - primaire themakleur i.p.v. oude roze accenten
========================================================= */

main .inner-content > .woocommerce:has(#customer_login),
main .woocommerce:has(#customer_login),
.entry-content > .woocommerce:has(#customer_login) {
	display: block !important;
	width: 100% !important;
	max-width: var(--account-login-max) !important;
	margin: 0 auto !important;
	padding: 48px 24px 72px !important;
	clear: both !important;
	color: #172c2b !important;
}

main .woocommerce #customer_login,
main .woocommerce .u-columns#customer_login,
main .woocommerce .col2-set#customer_login {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 24px !important;
	width: 100% !important;
	max-width: var(--account-login-max) !important;
	margin: 0 auto !important;
	padding: 0 !important;
	align-items: start !important;
}

main .woocommerce #customer_login .u-column1,
main .woocommerce #customer_login .u-column2,
main .woocommerce #customer_login .col-1,
main .woocommerce #customer_login .col-2 {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	clear: none !important;
	box-sizing: border-box !important;
}

main .woocommerce #customer_login .u-column1,
main .woocommerce #customer_login .col-1 {
	grid-column: 1 !important;
	grid-row: 1 !important;
}

main .woocommerce #customer_login .u-column2,
main .woocommerce #customer_login .col-2 {
	grid-column: 2 !important;
	grid-row: 1 !important;
}

main .woocommerce #customer_login h2 {
	margin: 0 0 14px !important;
	padding: 0 !important;
	font-size: 24px !important;
	line-height: 1.2 !important;
	font-weight: 700 !important;
	letter-spacing: -0.025em !important;
	color: var(--primary-color) !important;
	text-align: left !important;
}

main .woocommerce #customer_login form.login,
main .woocommerce #customer_login form.register {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 26px !important;
	background: #fff !important;
	border: 1px solid #dfe5e2 !important;
	border-radius: 12px !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
}

main .woocommerce #customer_login form .form-row {
	display: block !important;
	width: 100% !important;
	margin: 0 0 17px !important;
	padding: 0 !important;
	float: none !important;
	clear: both !important;
}

main .woocommerce #customer_login form .form-row-wide {
	width: 100% !important;
}

main .woocommerce #customer_login form label {
	display: block !important;
	width: 100% !important;
	margin: 0 0 7px !important;
	padding: 0 !important;
	font-size: 13px !important;
	line-height: 1.45 !important;
	font-weight: 700 !important;
	color: #172c2b !important;
	text-align: left !important;
}

main .woocommerce #customer_login input.input-text,
main .woocommerce #customer_login input[type="text"],
main .woocommerce #customer_login input[type="email"],
main .woocommerce #customer_login input[type="password"] {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	min-height: 52px !important;
	margin: 0 !important;
	padding: 0 16px !important;
	border: 1px solid #dfe5e2 !important;
	border-radius: 9px !important;
	background: #fff !important;
	color: #172c2b !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	line-height: 1.2 !important;
	box-sizing: border-box !important;
	box-shadow: none !important;
}

main .woocommerce #customer_login input.input-text:hover,
main .woocommerce #customer_login input[type="text"]:hover,
main .woocommerce #customer_login input[type="email"]:hover,
main .woocommerce #customer_login input[type="password"]:hover {
	border-color: #becbc6 !important;
}

main .woocommerce #customer_login input.input-text:focus,
main .woocommerce #customer_login input[type="text"]:focus,
main .woocommerce #customer_login input[type="email"]:focus,
main .woocommerce #customer_login input[type="password"]:focus {
	border-color: var(--primary-color) !important;
	box-shadow: 0 0 0 3px rgba(26, 73, 72, .07) !important;
	outline: none !important;
}

main .woocommerce #customer_login .password-input {
	display: block !important;
	position: relative !important;
	width: 100% !important;
}

main .woocommerce #customer_login .show-password-input {
	top: 50% !important;
	right: 16px !important;
	transform: translateY(-50%) !important;
	color: var(--primary-color) !important;
}

main .woocommerce #customer_login .woocommerce-form-login__rememberme {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	width: auto !important;
	margin: 2px 0 16px !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	color: #425351 !important;
}

main .woocommerce #customer_login .woocommerce-form-login__rememberme input {
	display: inline-block !important;
	width: 16px !important;
	height: 16px !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	accent-color: var(--primary-color);
}

main .woocommerce #customer_login button.button,
main .woocommerce #customer_login input.button,
main .woocommerce #customer_login a.button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: auto !important;
	min-height: 44px !important;
	margin: 0 !important;
	padding: 0 18px !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: var(--primary-color) !important;
	color: #fff !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	box-shadow: none !important;
	cursor: pointer !important;
	transition: .18s ease !important;
}

main .woocommerce #customer_login button.button:hover,
main .woocommerce #customer_login input.button:hover,
main .woocommerce #customer_login a.button:hover {
	filter: brightness(.9);
	color: #fff !important;
	transform: translateY(-1px);
}

main .woocommerce #customer_login .woocommerce-LostPassword {
	margin: 16px 0 0 !important;
	font-size: 13px !important;
	line-height: 1.5 !important;
}

main .woocommerce #customer_login .woocommerce-LostPassword a,
main .woocommerce #customer_login .woocommerce-privacy-policy-text a {
	color: var(--primary-color) !important;
	font-weight: 700 !important;
	text-decoration: underline !important;
	text-underline-offset: 3px;
	text-decoration-thickness: 1px !important;
}

main .woocommerce #customer_login .woocommerce-LostPassword a:hover,
main .woocommerce #customer_login .woocommerce-privacy-policy-text a:hover {
	color: var(--primary-color) !important;
	text-decoration-thickness: 2px !important;
}

main .woocommerce #customer_login .woocommerce-privacy-policy-text,
main .woocommerce #customer_login .woocommerce-privacy-policy-text p,
main .woocommerce #customer_login form.register > p:not(.form-row) {
	margin: 5px 0 18px !important;
	font-size: 13px !important;
	line-height: 1.65 !important;
	color: #5c6664 !important;
}

@media only screen and (max-width: 800px) {
	main .inner-content > .woocommerce:has(#customer_login),
	main .woocommerce:has(#customer_login),
	.entry-content > .woocommerce:has(#customer_login) {
		max-width: var(--account-login-mobile-max) !important;
		padding: 30px 16px 50px !important;
	}

	main .woocommerce #customer_login,
	main .woocommerce .u-columns#customer_login,
	main .woocommerce .col2-set#customer_login {
		grid-template-columns: 1fr !important;
		gap: 26px !important;
		max-width: var(--account-login-mobile-max) !important;
	}

	main .woocommerce #customer_login .u-column1,
	main .woocommerce #customer_login .col-1 {
		grid-column: 1 !important;
		grid-row: 1 !important;
	}

	main .woocommerce #customer_login .u-column2,
	main .woocommerce #customer_login .col-2 {
		grid-column: 1 !important;
		grid-row: 2 !important;
	}

	main .woocommerce #customer_login h2 {
		margin-bottom: 12px !important;
		font-size: 22px !important;
	}

	main .woocommerce #customer_login form.login,
	main .woocommerce #customer_login form.register {
		padding: 20px !important;
		border-radius: 10px !important;
	}
}

.cta-footer {
	position: relative;
	overflow: hidden;
	background: var(--primary-color);
	color: #fff;
	padding: 72px 24px;
	text-align: center;
	border-radius: 15px 15px 0 0;
}

.cta-footer::before {
	display: none;
	content: none;
}

.cta-footer .inner {
	position: relative;
	z-index: 1;
	width: min(100%, 820px);
	margin: 0 auto;
}

.cta-footer__label {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 16px;
	padding: 8px 14px;
	background: rgba(210, 255, 116, .14);
	color: #D2FF74;
	border: 1px solid rgba(210, 255, 116, .28);
	border-radius: 999px;
	font-size: 13px;
	line-height: 1;
	font-weight: 900;
}

.cta-footer h2 {
	max-width: 760px;
	margin: 0 auto 16px;
	color: #fff;
	font-weight: 700;
	letter-spacing: -0.04em;
}

.cta-footer p {
	max-width: 620px;
	margin: 0 auto 28px;
	color: rgba(255, 255, 255, .88);
	font-size: 17px;
	line-height: 1.55;
}

.cta-footer__buttons {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	flex-wrap: wrap;
}

.cta-footer__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 54px;
	padding: 0 28px;
	background: #e5ff00;
	color: var(--primary-color) !important;
	border-radius: 10px;
	font-size: 16px;
	line-height: 1;
	font-weight: 900;
	text-decoration: none;
	box-shadow: inset 0 -3px 0 rgba(0,0,0,.22);
	transition: .2s ease;
}

.cta-footer__button:hover {
	transform: translateY(-1px);
	background: #e5ff00;
}

.cta-footer__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 54px;
	color: #35e98a !important;
	font-size: 15px;
	font-weight: 900;
	text-decoration: none;
}

.cta-footer__link:hover {
	color: #35e98a !important;
	text-decoration: underline;
	text-underline-offset: 4px;
}

@media (max-width: 820px) {
	.cta-footer {
		padding: 58px 20px;
		border-radius: 12px 12px 0 0;
	}

	.cta-footer p {
		font-size: 15px;
	}

	.cta-footer__buttons {
		display: block;
	}

	.cta-footer__button {
		width: 100%;
		box-sizing: border-box;
	}

	.cta-footer__link {
		margin-top: 14px;
		width: 100%;
	}
}

/* Footer contactgegevens */
.footer-contact {
	float: left;
	width: 100%;
	box-sizing: border-box;
	padding: 0 24px 30px;
	background: var(--primary-color);
	color: #fff;
}

.footer-contact__inner {
	width: min(100%, 980px);
	margin: 0 auto;
	padding-top: 22px;
	border-top: 1px solid rgba(255, 255, 255, .18);
	text-align: center;
}

.footer-contact__primary {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	flex-wrap: wrap;
}

.footer-contact__intro {
	font-size: 14px;
	font-weight: 700;
	color: rgba(255, 255, 255, .78);
}

.footer-contact__item {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: #35e98a !important;
	font-size: 14px;
	font-weight: 800;
	text-decoration: none;
}

.footer-contact__item i,
.footer-contact__icon {
	width: 18px;
	height: 18px;
	flex: 0 0 18px;
	font-size: 18px;
	stroke: currentColor;
	fill: none;
}

.footer-contact__item:hover {
	color: #35e98a !important;
	text-decoration: underline;
	text-underline-offset: 4px;
}

.footer-contact__divider {
	width: 1px;
	height: 18px;
	background: rgba(255, 255, 255, .22);
}

.footer-contact__business {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	flex-wrap: wrap;
	margin-top: 14px;
	color: rgba(255, 255, 255, .62);
	font-size: 12px;
	font-weight: 500;
	line-height: 1.5;
}

.footer-contact__dot {
	color: rgba(210, 255, 116, .55);
}

@media (max-width: 620px) {
	.footer-contact {
		padding: 0 20px 27px;
	}

	.footer-contact__inner {
		padding-top: 20px;
	}

	.footer-contact__primary {
		gap: 10px 14px;
	}

	.footer-contact__intro {
		width: 100%;
	}

	.footer-contact__divider {
		display: none;
	}

	.footer-contact__item {
		font-size: 13px;
	}

	.footer-contact__business {
		max-width: 330px;
		margin: 15px auto 0;
		gap: 3px 7px;
		font-size: 11px;
	}
}

/* HorecaHero betaalopties */
.hh-payment-methods {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}

.hh-payment-methods__title {
	color: #606060;
	font-size: 11px;
	font-weight: 800;
	line-height: 1.2;
}

.hh-payment-methods__logos {
	display: flex;
	align-items: center;
	gap: 7px;
	flex-wrap: wrap;
}

.hh-payment-logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	height: 34px;
	padding: 0 10px;
	border: 1px solid #e5e5e5;
	border-radius: 8px;
	background: #fff;
	box-shadow: none;
	color: #111;
	font-size: 11px;
	font-weight: 800;
	line-height: 1;
	white-space: nowrap;
}

.hh-payment-logo--ideal-wero {
	min-width: 106px;
	border-color: #f1d600;
	background: #ffe600;
	color: #111;
}

.hh-payment-logo__ideal {
	font-weight: 900;
	letter-spacing: -0.04em;
}

.hh-payment-logo__divider {
	width: 1px;
	height: 14px;
	background: rgba(0, 0, 0, .28);
}

.hh-payment-logo__wero {
	font-weight: 800;
	letter-spacing: -0.03em;
}

.hh-payment-logo--klarna {
	min-width: 78px;
	border-color: #ffa8cd;
	background: #ffa8cd;
	color: #0b051d;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: -0.04em;
}

.hh-payment-logo--invoice {
	min-width: 94px;
	background: #fff;
	color: #242424;
}

.hh-payment-logo--invoice svg {
	width: 16px;
	height: 16px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.hh-payment-methods--footer {
	justify-content: center;
	margin-top: 19px;
	padding-top: 18px;
	border-top: 1px solid rgba(255, 255, 255, .10);
}

.hh-payment-methods--footer .hh-payment-methods__title {
	color: rgba(255, 255, 255, .66);
}

.hh-payment-methods--footer .hh-payment-logo {
	box-shadow: 0 1px 0 rgba(0, 0, 0, .06);
}

@media (max-width: 620px) {
	.hh-payment-methods--footer {
		flex-direction: column;
		gap: 9px;
		margin-top: 17px;
		padding-top: 16px;
	}

	.hh-payment-methods--footer .hh-payment-methods__logos {
		justify-content: center;
	}
}

.elfsight-widget-logo-showcase::after {
	left: 0;
	top: 0;
	content: '';
	background: linear-gradient( to right, rgba(251, 247, 241, 1) 0%, rgba(251, 247, 241, 0) 30%, rgba(251, 247, 241, 0) 70%, rgba(251, 247, 241, 1) 100% );
	height: 100%;
	width: 100%;
	z-index: 99;
	position: absolute;
}

.hh-inschrijven {
	background: transparent;
	min-height: 80vh;
	padding: 10px 0;
	color: #111;
}

.hh-inschrijven-container {
	width: min(100% - 48px, 1480px);
	margin: 0 auto;
}

.hh-checkout-grid {
	display: grid;
	grid-template-columns: 1fr 1.15fr 1.15fr;
	gap: 32px;
	align-items: start;
}

.hh-step-title {
	display: flex;
	align-items: center;
	gap: 18px;
	margin: 0 0 15px;
	border: 1px solid #e7e7e7;
	background: #fff;
	padding: 10px;
	border-radius: 40px;
}

.hh-step-number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	background: #000;
	color: #fff;
	border-radius: 999px;
	font-size: 18px;
	font-weight: 900;
	flex: 0 0 auto;
}

.hh-step-title h2 {
	margin: 0;
	font-size: 20px;
	line-height: 1.1;
	font-weight: 900;
	color: #111;
	letter-spacing: -0.03em;
}

.hh-courses-empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding-top: 10px;
	text-align: center;
	min-height: 280px;
}

.hh-discount-notice {
	margin: 0 0 18px;
	padding: 16px 18px;
	background: #fff;
	border: 1px solid #e7e7e7;
	border-left: 5px solid #111;
	border-radius: 12px;
	box-shadow: 0 1px 0 rgba(0,0,0,.04);
}

.hh-discount-notice.is-coupon-applied {
	display: none;
}

.hh-discount-notice strong {
	display: block;
	margin-bottom: 5px;
	font-size: 15px;
	font-weight: 900;
	color: #111;
}

.hh-discount-notice span {
	display: block;
	font-size: 14px;
	line-height: 1.35;
	color: #555;
}

.hh-discount-notice b {
	color: #c02b78;
	font-weight: 900;
}

.hh-discount-notice.is-active {
	border-left-color: #c02b78;
	background: #fff8fb;
}

.hh-discount-copy {
	margin-top: 12px;
	min-height: 38px;
	padding: 0 16px;
	border: 0;
	border-radius: 999px;
	background: #111;
	color: #fff;
	font-size: 13px;
	font-weight: 900;
	cursor: pointer;
	font-family: inherit;
}

.hh-discount-copy:hover {
	background: #000;
}

.hh-add-course, .hh-course-add-extra {
	cursor: pointer;
}

.hh-add-course {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	color: #111;
	text-decoration: none;
	background: none;
	border: 0;
	padding: 0;
	font-family: inherit;
}

.hh-add-course__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	background: #000;
	color: #fff;
	border-radius: 999px;
	font-size: 44px;
	line-height: 1;
	font-weight: 600;
}

.hh-add-course__text {
	font-size: 15px;
	color: #111;
}

.hh-course-list {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.hh-course-card {
	background: #fff;
	border: 1px solid #e7e7e7;
	border-radius: 14px;
	padding: 20px;
	box-shadow: 0 1px 0 rgba(0,0,0,.04);
}

.hh-course-card__top {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	align-items: flex-start;
}

.hh-course-card h3 {
	margin: 0 0 8px;
	font-size: 19px;
	line-height: 1.2;
	font-weight: 900;
	color: #111;
}

.hh-course-card__meta {
	font-size: 14px;
	line-height: 1.4;
	color: #555;
}

.hh-course-card__price {
	white-space: nowrap;
	font-size: 17px;
	font-weight: 900;
	color: #111;
	text-align: right;
}

.hh-course-card__bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	margin-top: 16px;
	padding-top: 14px;
	border-top: 1px solid #eee;
}

.hh-course-card__qty {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	color: #555;
}

.hh-qty-control {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: #f7f7f7;
	border: 1px solid #e7e7e7;
	border-radius: 999px;
	padding: 4px;
}

.hh-qty-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 999px;
	background: #111;
	color: #fff !important;
	text-decoration: none;
	font-size: 18px;
	line-height: 1;
	font-weight: 900;
}

.hh-qty-btn:hover {
	background: #000;
	color: #fff !important;
}

.hh-qty-btn.is-disabled {
	opacity: .35;
	pointer-events: none;
}

.hh-qty-input {
	width: 44px;
	height: 28px;
	min-height: 28px !important;
	padding: 0 4px !important;
	border: 0 !important;
	background: transparent !important;
	color: #111 !important;
	font-size: 14px !important;
	font-weight: 900;
	text-align: center;
	outline: none;
	appearance: textfield;
	-moz-appearance: textfield;
}

.hh-qty-input::-webkit-outer-spin-button, .hh-qty-input::-webkit-inner-spin-button {
	margin: 0;
	appearance: none;
	-webkit-appearance: none;
}

.hh-course-remove {
	color: #c02b78;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}

.hh-course-remove:hover {
	text-decoration: underline;
}

.hh-course-add-extra {
	margin-top: 18px;
	display: block;
	align-items: center;
	gap: 10px;
	color: #111;
	text-decoration: none;
	font-size: 15px;
	font-weight: 700;
	background: none;
	border: 0;
	padding: 0;
	margin: 35px auto 15px;
	font-family: inherit;
}

.hh-course-add-extra span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	background: #000;
	color: #fff;
	border-radius: 999px;
	font-size: 25px;
	line-height: 1;
}

.hh-clear-cart-wrap {
	margin-top: 16px;
	text-align: center;
}

.hh-clear-cart {
	display: inline-block;
	color: #777;
	font-size: 13px;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.hh-clear-cart:hover {
	color: #c02b78;
}

.hh-checkout-box, .hh-payment-box {
	background: #fff;
	border: 1px solid #e7e7e7;
	border-radius: 12px;
	padding: 28px;
	min-height: 320px;
}

.hh-login-trigger {
	margin: 0 0 28px;
	padding: 18px 20px;
	background: #fafafa;
	border: 1px solid #e7e7e7;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
}

.hh-login-trigger__text {
	font-size: 14px;
	line-height: 1.35;
	color: #555;
}

.hh-login-trigger__text strong {
	display: block;
	margin-bottom: 3px;
	font-size: 15px;
	color: #111;
	font-weight: 900;
}

.hh-login-trigger__button {
	appearance: none;
	border: 0;
	background: #111;
	color: #fff;
	border-radius: 999px;
	min-height: 42px;
	padding: 0 20px;
	font-size: 14px;
	font-weight: 900;
	cursor: pointer;
	white-space: nowrap;
	font-family: inherit;
}

.hh-login-trigger__button:hover {
	background: #000;
}

.hh-checkout-box h3, .hh-payment-box h3 {
	margin: 25px 0 10px;
	font-size: 20px;
	font-weight: 900;
	color: #111;
}

.hh-checkout-box .form-row {
	margin: 0;
}

.hh-checkout-box input.input-text, .hh-checkout-box textarea, .hh-checkout-box select, .hh-payment-box input.input-text, .hh-payment-box textarea, .hh-payment-box select {
	width: 100%;
	min-height: 52px;
	border: 1px solid #e7e7e7;
	border-radius: 6px;
	padding: 0 16px;
	font-size: 15px;
	background: #fff;
	color: #111;
}

.hh-checkout-box textarea, .hh-payment-box textarea {
	padding-top: 14px;
	min-height: 110px;
}

.hh-checkout-box label, .hh-payment-box label {
	margin: 5px;
	font-size: 14px;
	font-weight: 700;
	color: #111;
}

.hh-checkout-box .woocommerce-billing-fields > h3:first-of-type {
	display: none !important;
}

.hh-checkout-box .col2-set, .hh-checkout-box .woocommerce-billing-fields__field-wrapper, .hh-checkout-box .woocommerce-shipping-fields, .hh-checkout-box .woocommerce-additional-fields {
	width: 100%;
}

.hh-checkout-box .col-1, .hh-checkout-box .col-2 {
	width: 100% !important;
	float: none !important;
}

.hh-checkout-box .woocommerce-shipping-fields {
	display: none;
}

.hh-payment-box {
	color: #111;
}

.hh-payment-box #order_review_heading {
	display: none;
}

.hh-payment-box .shop_table {
	width: 100%;
	border: 0;
	margin: 0 0 22px;
	border-collapse: collapse;
}

.hh-payment-box .shop_table th, .hh-payment-box .shop_table td {
	border: 0;
	padding: 9px 0;
	font-size: 14px;
	color: #111;
}

.hh-payment-box .shop_table th {
	font-weight: 900;
}

.hh-payment-box .shop_table .order-total th, .hh-payment-box .shop_table .order-total td {
	font-size: 17px;
	font-weight: 900;
	border-top: 1px solid #eee;
	padding-top: 14px;
}

.hh-payment-box #payment {
	background: transparent !important;
	border-radius: 0 !important;
}

.hh-payment-box #payment ul.payment_methods {
	border: 0 !important;
	padding: 0 !important;
	margin: 0 0 20px !important;
}

.hh-payment-box #payment ul.payment_methods li {
	list-style: none;
	margin: 0 0 10px;
	font-size: 15px;
}


/* =========================================================
   Checkout betaalmethodes - v2.0.125
   Radio-button en betaalmethode netjes op één regel uitlijnen.
   ========================================================= */
.hh-payment-box #payment ul.payment_methods li.wc_payment_method {
	display: grid;
	grid-template-columns: 22px minmax(0, 1fr);
	align-items: center;
	column-gap: 12px;
	row-gap: 0;
	margin: 0 0 16px;
}

.hh-payment-box #payment ul.payment_methods li.wc_payment_method > input[type="radio"],
.hh-payment-box #payment ul.payment_methods li.wc_payment_method > input.input-radio {
	grid-column: 1;
	grid-row: 1;
	position: static !important;
	float: none !important;
	margin: 0 !important;
	width: 18px;
	height: 18px;
	align-self: center;
}

.hh-payment-box #payment ul.payment_methods li.wc_payment_method > label {
	grid-column: 2;
	grid-row: 1;
	display: flex !important;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 10px;
	margin: 0 !important;
	min-height: 28px;
	line-height: 1.35;
	cursor: pointer;
}

.hh-payment-box #payment ul.payment_methods li.wc_payment_method > label img {
	margin: 0 !important;
	vertical-align: middle;
}

.hh-payment-box #payment ul.payment_methods li.wc_payment_method > .payment_box,
.hh-payment-box #payment ul.payment_methods li.wc_payment_method > div.payment_box {
	grid-column: 1 / -1;
	grid-row: 2;
	margin: 10px 0 0 !important;
}

.hh-payment-box #payment div.payment_box {
	background: #f7f7f7 !important;
	border-radius: 8px;
	padding: 14px !important;
	font-size: 14px;
}

.woocommerce-terms-and-conditions-checkbox-text {
	font-weight: normal !important;
}

.hh-payment-box #payment div.payment_box::before {
	display: none !important;
}

.hh-payment-box .place-order {
	padding: 0 !important;
	margin: 0 0 0 !important;
}

.hh-payment-box #place_order {
	width: 100%;
	min-height: 54px;
	border-radius: 999px;
	background: #111 !important;
	color: #fff !important;
	border: 0;
	font-size: 16px;
	font-weight: 900;
	cursor: pointer;
}

.hh-payment-box #place_order:hover {
	background: #000 !important;
}

.hh-payment-box .woocommerce-terms-and-conditions-wrapper {
	font-size: 14px;
	line-height: 1.4;
	margin-top: 18px;
}

.hh-payment-box .woocommerce-privacy-policy-text {
	display: none;
}

.hh-empty-payment {
	color: #777;
	font-size: 15px;
}

.hh-coupon-box {
	margin-bottom: 24px;
	padding-bottom: 22px;
	border-bottom: 1px solid #eee;
}

.hh-coupon-box label {
	display: block;
	font-size: 14px;
	font-weight: 900;
	color: #111;
	margin-bottom: 10px;
}

.hh-coupon-row {
	display: flex;
	gap: 10px;
}

.hh-coupon-input {
	flex: 1;
	min-height: 48px;
	border: 1px solid #e7e7e7;
	border-radius: 999px;
	padding: 0 16px;
	font-size: 14px;
	color: #111;
	background: #fff;
}

.hh-coupon-button {
	min-height: 48px;
	border: 0;
	border-radius: 999px;
	background: #111;
	color: #fff;
	padding: 0 18px;
	font-size: 14px;
	font-weight: 900;
	cursor: pointer;
}

.hh-coupon-button:hover {
	background: #000;
}

.hh-coupon-button:disabled {
	background: #b7b7b7;
	color: #777;
	cursor: not-allowed;
}

.hh-coupon-message {
	margin: 10px 0 0;
	font-size: 13px;
	color: #c02b78;
	font-weight: 700;
}

.woocommerce-NoticeGroup, .woocommerce-error, .woocommerce-message, .woocommerce-info {
	grid-column: 1 / -1;
}

.hh-modal {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: none;
	overflow-y: auto;
	padding: 28px 0;
	-webkit-overflow-scrolling: touch;
}

.hh-modal.is-open {
	display: block;
}

.hh-modal__overlay {
	position: absolute;
	inset: 0;
	background: rgba(244, 245, 247, .82);
	backdrop-filter: blur(1px);
}

.hh-modal__box {
	position: relative;
	z-index: 2;
	width: min(860px, calc(100% - 40px));
	margin: 0 auto;
	background: #fff;
	border: 1px solid #e7e7e7;
	border-radius: 20px;
	padding: 34px 34px 32px;
	box-shadow: 0 8px 35px rgba(0,0,0,.06);
}

.hh-modal__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 30px;
}

.hh-modal__header h2 {
	margin: 0;
	font-size: 32px;
	line-height: 1.1;
	font-weight: 900;
	color: #111;
	letter-spacing: -0.03em;
}

.hh-modal__close {
	appearance: none;
	border: 0;
	background: none;
	color: #111;
	cursor: pointer;
	font-size: 42px;
	line-height: 1;
	width: 42px;
	height: 42px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.hh-modal__intro-text {
	margin: -14px 0 20px;
	font-size: 15px;
	line-height: 1.45;
	color: #555;
}

.hh-modal__course-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
	max-height: none;
	overflow: visible;
	padding: 2px 0;
	margin-bottom: 18px;
}

.hh-modal__course-option {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 16px 18px;
	background: #fff;
	border: 1px solid #e7e7e7;
	border-radius: 14px;
	cursor: pointer;
	transition: .16s ease;
}

.hh-modal__course-option:hover {
	border-color: #d6d6d6;
	background: #fafafa;
}

.hh-modal__course-option.is-selected {
	border-color: #c02b78;
	background: #fff8fb;
}

.hh-modal__course-checkbox {
	width: 22px;
	height: 22px;
	accent-color: #c02b78;
	flex: 0 0 auto;
	cursor: pointer;
}

.hh-modal__course-content {
	flex: 1;
	min-width: 0;
}

.hh-modal__course-title {
	display: block;
	font-size: 16px;
	line-height: 1.25;
	font-weight: 900;
	color: #111;
}

.hh-modal__course-price {
	display: block;
	margin-top: 4px;
	font-size: 14px;
	color: #666;
}

.hh-modal__selected-summary {
	display: none;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	margin: 0 0 24px;
	padding: 15px 18px;
	background: #fafafa;
	border: 1px solid #e7e7e7;
	border-radius: 14px;
}

.hh-modal__selected-summary.is-visible {
	display: flex;
}

.hh-modal__selected-summary span {
	font-size: 14px;
	color: #555;
}

.hh-modal__selected-summary strong {
	white-space: nowrap;
	font-size: 18px;
	font-weight: 900;
	color: #111;
}

.hh-modal__button-wrap {
	text-align: center;
}

.hh-modal__submit {
	appearance: none;
	border: 0;
	min-width: 270px;
	min-height: 64px;
	border-radius: 999px;
	background: #000;
	color: #fff;
	font-size: 18px;
	font-weight: 900;
	cursor: pointer;
	font-family: inherit;
	transition: .2s ease;
}

.hh-modal__submit:disabled {
	background: #b7b7b7;
	color: #777;
	cursor: not-allowed;
}

.hh-modal__submit:not(:disabled):hover {
	transform: translateY(-1px);
	background: #111;
}

.hh-login-modal .hh-modal__box {
	width: min(520px, calc(100% - 40px));
	border-radius: 16px;
	padding: 34px;
}

.hh-login-modal__intro {
	margin: -16px 0 24px;
	font-size: 15px;
	line-height: 1.45;
	color: #555;
}

.hh-login-modal form.login {
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
}

.hh-login-modal .woocommerce-form-row {
	margin-bottom: 16px !important;
}

.hh-login-modal label {
	display: block;
	margin: 0 0 7px;
	font-size: 14px;
	font-weight: 900;
	color: #111;
}

.hh-login-modal input.input-text, .hh-login-modal input[type="text"], .hh-login-modal input[type="password"], .hh-login-modal input[type="email"] {
	width: 100%;
	min-height: 54px;
	border: 1px solid #e7e7e7;
	border-radius: 999px;
	padding: 0 18px;
	font-size: 15px;
	background: #fff;
	color: #111;
}

.hh-login-modal .woocommerce-form-login__submit {
	width: 100%;
	min-height: 54px;
	border-radius: 999px;
	background: #111 !important;
	color: #fff !important;
	border: 0;
	font-size: 16px;
	font-weight: 900;
	cursor: pointer;
	margin-top: 8px;
}

.hh-login-modal .woocommerce-form-login__submit:hover {
	background: #000 !important;
}

.hh-login-modal .lost_password {
	margin: 16px 0 0;
	text-align: center;
}

.hh-login-modal .lost_password a {
	color: #c02b78;
	font-size: 14px;
	font-weight: 700;
}

body.hh-modal-open {
	overflow: hidden;
}

.hh-modal__course-warning {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	width: 100%;
	margin-top: 10px;
	padding: 10px 12px;
	border: 1px solid rgba(195, 42, 123, 0.22);
	border-radius: 12px;
	background: rgba(195, 42, 123, 0.07);
	color: #4b2940;
	font-size: 13px;
	line-height: 1.35;
}

.hh-modal__course-warning[hidden] {
	display: none !important;
}

.hh-modal__course-warning-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 18px;
	width: 18px;
	height: 18px;
	margin-top: 1px;
	border-radius: 999px;
	background: #c32a7b;
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
}

.hh-modal__course-warning strong {
	font-weight: 800;
}

.hh-page-loader {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: none;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, .78);
	backdrop-filter: blur(2px);
}

.hh-page-loader.is-loading {
	display: flex;
}

.hh-page-loader__box {
	background: #fff;
	border: 1px solid #e7e7e7;
	border-radius: 16px;
	padding: 32px 40px;
	box-shadow: 0 12px 40px rgba(0,0,0,.08);
	text-align: center;
	min-width: 300px;
	max-width: calc(100vw - 40px);
}

.hh-page-loader__spinner {
	width: 42px;
	height: 42px;
	border: 4px solid #e5e5e5;
	border-top-color: #000;
	border-radius: 50%;
	margin: 0 auto 16px;
	animation: hhSpin .8s linear infinite;
}

.hh-page-loader__text {
	margin: 0;
	font-size: 16px;
	font-weight: 900;
	color: #111;
}

.hh-page-loader__subtext {
	margin: 8px 0 0;
	font-size: 14px;
	color: #666;
}

@keyframes hhSpin {
	to {
		transform: rotate(360deg);
	}
}

@media (max-width: 1100px) {
	.hh-checkout-grid {
		grid-template-columns: 1fr;
		gap: 42px;
	}

	.hh-step-title {
		margin-bottom: 22px;
	}

	.hh-courses-empty {
		min-height: 180px;
		align-items: flex-start;
		text-align: left;
	}
}

@media (max-width: 700px) {
	.hh-inschrijven {
		padding: 10px 0;
	}

	.hh-inschrijven-container {
		width: min(100% - 28px, 1480px);
	}

	.hh-step-title h2 {
		font-size: 27px;
	}

	.hh-step-number {
		width: 32px;
		height: 32px;
		font-size: 14px;
	}

	.hh-discount-notice {
		margin: 0 0 18px;
	}

	.hh-login-trigger {
		display: block;
	}

	.hh-login-trigger__button {
		width: 100%;
		margin-top: 14px;
	}

	.hh-course-card__top, .hh-course-card__bottom {
		display: block;
	}

	.hh-course-card__price {
		text-align: left;
		margin-top: 12px;
	}

	.hh-course-card__bottom {
		margin-top: 14px;
	}

	.hh-course-card__qty {
		margin-bottom: 12px;
	}

	.hh-course-remove {
		display: inline-block;
		margin-top: 4px;
	}

	.hh-coupon-row {
		display: block;
	}

	.hh-coupon-button {
		width: 100%;
		margin-top: 10px;
	}

	.hh-modal {
		padding: 14px 0;
	}

	.hh-modal__box, .hh-login-modal .hh-modal__box {
		width: min(100% - 28px, 860px);
		margin: 0 auto;
		padding: 26px 22px 28px;
	}

	.hh-modal__header h2 {
		font-size: 26px;
	}

	.hh-modal__close {
		font-size: 36px;
	}

	.hh-modal__course-list {
		max-height: none;
		overflow: visible;
	}

	.hh-modal__course-option {
		padding: 14px;
	}

	.hh-modal__selected-summary {
		align-items: flex-start;
		flex-direction: column;
		gap: 4px;
		padding: 14px;
	}

	.hh-modal__submit {
		width: 100%;
		min-width: 0;
		min-height: 58px;
	}
}

body.cursusaanbod {
	background: #fbf7f1;
}

body.cursusaanbod .header {
	margin-bottom: 0;
	border-radius: 15px 15px 0 0;
}

body.cursusaanbod .header p#breadcrumbs, body.cursusaanbod .header h1 {
	display: none;
}

body.cursusaanbod main {
	width: 100%;
	margin: 0;
	background: #fbf7f1;
	border-radius: 0;
}

.hh-shop {
	position: relative;
	background: #fbf7f1;
	margin-top: 0;
	padding: 0 0 0;
	overflow: hidden;
}

.hh-container {
	width: min(100% - 48px, 1080px);
	margin-left: auto;
	margin-right: auto;
}

.hh-offer-hero {
	position: relative;
	z-index: 1;
	overflow: visible;
	background: var(--primary-color);
	color: #fff;
	margin: 0;
	padding: 48px 0 175px;
	text-align: center;
	border-radius: 0;
}

.google-review {
	margin-top: 15px;
	min-height: 54px;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Lightweight Google review badge, v2.0.118.
   De 500+ KiB Elfsight bundle wordt pas geladen na een expliciete klik. */
.hh-google-review-shell {
	flex-direction: column;
	gap: 8px;
}

.hh-google-review-trigger {
	appearance: none;
	-webkit-appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	min-height: 36px;
	padding: 6px 12px;
	border: 0;
	border-radius: 999px;
	background: #fff;
	color: #202124;
	font-family: Arial, sans-serif;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 1px 3px rgba(0,0,0,.12);
}

.hh-google-review-trigger[hidden] {
	display: none !important;
}

.hh-google-review-trigger:hover,
.hh-google-review-trigger:focus-visible {
	transform: translateY(-1px);
	box-shadow: 0 2px 6px rgba(0,0,0,.16);
}

.hh-google-review-trigger.is-loading {
	cursor: progress;
	opacity: .82;
}

.hh-google-review-trigger__g {
	color: #4285f4;
	font-size: 17px;
	font-weight: 800;
	margin-right: 2px;
}

.hh-google-review-trigger__score {
	font-weight: 700;
}

.hh-google-review-trigger__stars {
	display: inline-flex;
	letter-spacing: -1px;
	color: #fbbc04;
	font-size: 14px;
}

.hh-google-review-trigger__stars .is-muted {
	color: #b7b7b7;
}

.hh-google-review-trigger__count {
	color: #777;
	font-weight: 500;
	font-size: 11px;
}

.hh-google-review-trigger__verified {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: #34a853;
	color: #fff;
	font-size: 9px;
	font-weight: 800;
	margin-left: 1px;
}

.hh-google-review-live {
	min-height: 0;
	width: 100%;
}

.hh-offer-hero::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -140px;
	width: 130%;
	height: 220px;
	transform: translateX(-50%);
	background: var(--primary-color);
	border-radius: 0 0 50% 50%;
	z-index: 0;
	pointer-events: none;
}

.hh-offer-hero__inner {
	position: relative;
	z-index: 1;
}

.hh-offer-hero h1 {
	float: none;
	display: block;
	width: auto;
	max-width: 800px;
	margin: 0 auto 28px;
	color: #fff;
	font-size: 2.5em;
	font-weight: 800;
	letter-spacing: -0.02em;
}

.hh-typed-wrap {
	position: relative;
	display: inline;
	color: #D2FF74;
	white-space: nowrap;
}

.hh-typed-word {
	display: inline;
	min-width: 0;
	color: #e5ff00;
	width: auto;
}

.hh-typed-cursor {
	display: inline-block;
	width: 3px;
	height: .78em;
	margin-left: 2px;
	background: #fff;
	border-radius: 999px;
	transform: translateY(4px);
	animation: hhCursorBlink .78s steps(1) infinite;
}

.hh-scribble-word {
	position: relative;
	display: inline-block;
	z-index: 1;
}

.hh-scribble-word::after {
	content: "";
	position: absolute;
	left: -6%;
	right: -6%;
	bottom: -9px;
	height: 17px;
	background-image: url("data:image/svg+xml,%3Csvg width='520' height='34' viewBox='0 0 520 34' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 18 C72 5 137 20 202 13 C267 6 331 21 396 13 C448 8 487 14 513 10' stroke='%23D2FF74' stroke-width='7' stroke-linecap='round' fill='none'/%3E%3Cpath d='M10 25 C84 15 148 28 224 20 C300 12 371 27 508 18' stroke='%23D2FF74' stroke-width='4' stroke-linecap='round' fill='none' opacity='.85'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: 100% 100%;
	z-index: -1;
	pointer-events: none;
}

@keyframes hhCursorBlink {
	0%, 48% {
		opacity: 1;
	}

	49%, 100% {
		opacity: 0;
	}
}

.hh-offer-hero p {
	float: none;
	clear: both;
	display: block;
	width: auto;
	max-width: 620px;
	margin: 0 auto;
	color: rgba(255,255,255,.94);
	font-size: 17px;
	line-height: 1.55;
}

.hh-offer-benefits {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 34px;
	margin: 20px auto 0;
	padding: 0;
	list-style: none;
	text-align: left;
}

.hh-offer-benefits li {
	display: flex;
	align-items: center;
	gap: 12px;
	justify-content: center;
	color: #fff;
	font-size: 16px;
	line-height: 1.35;
}

/* Homepage: voordelen rustig één voor één laten binnenkomen.
 * Alleen opacity + transform, dus geen layout shift. */
body.home .hh-offer-benefits li {
	opacity: 0;
	transform: translateY(10px);
	animation: hhBenefitFadeUp .58s cubic-bezier(.22, 1, .36, 1) forwards;
}

body.home .hh-offer-benefits li:nth-child(1) { animation-delay: .18s; }
body.home .hh-offer-benefits li:nth-child(2) { animation-delay: .43s; }
body.home .hh-offer-benefits li:nth-child(3) { animation-delay: .68s; }
body.home .hh-offer-benefits li:nth-child(4) { animation-delay: .93s; }

@keyframes hhBenefitFadeUp {
	from {
		opacity: 0;
		transform: translateY(10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (prefers-reduced-motion: reduce) {
	body.home .hh-offer-benefits li {
		opacity: 1;
		transform: none;
		animation: none;
	}
}

.hh-offer-benefits__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 25px;
	width: 25px;
	height: 25px;
	border: 2px solid #008f00;
	border-radius: 50%;
	color: #008f00;
	font-weight: 300;
	line-height: 1;
}

.hh-course-filter-wrap {
	display: flex;
	justify-content: flex-end;
	margin: 0 0 -18px;
	position: relative;
	z-index: 4;
	transform: translateY(26px);
}

.hh-course-filter {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px;
	background: rgba(255,255,255,.07);
	border: 1px solid rgba(255,255,255,.11);
	border-radius: 999px;
	backdrop-filter: blur(2px);
}

.hh-course-filter__label {
	display: none;
	margin: 0 6px 0 5px;
	color: rgba(255,255,255,.78);
	font-size: 11px;
	font-weight: 800;
	line-height: 1;
	white-space: nowrap;
}

.hh-course-filter__button {
	appearance: none;
	border: 0;
	border-radius: 999px;
	background: rgba(255,255,255,.94);
	color: #09293d;
	min-height: 28px;
	padding: 0 13px;
	font-family: inherit;
	font-size: 12px;
	font-weight: 900;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 1px 0 rgba(0,0,0,.12);
	transition: .18s ease;
}

.hh-course-filter__button:hover {
	transform: translateY(-1px);
	background: #fff;
}

.hh-course-filter__button:focus {
	outline: none;
}

.hh-course-filter__button:focus-visible {
	outline: 2px solid rgba(255,255,255,.55);
	outline-offset: 2px;
}

.hh-course-filter__button.is-active {
	background: #008f00;
	color: #fff;
	border: 0;
	box-shadow: none;
}

.hh-course-filter__button.is-active[data-filter="all"] {
	background: var(--primary-color);
}

.hh-course-filter__button.is-active[data-filter="sociale-hygiene"] {
	background: #06a51b;
}

.hh-course-filter__button.is-active[data-filter="haccp"] {
	background: #AC1457;
}

.hh-course-filter__button.is-active[data-filter="onboarding"] {
	background: #ff7a1a;
}

.hh-product-list {
	position: relative;
	z-index: 3;
	margin-top: -122px;
}

.hh-product-card {
	position: relative;
	background: #fff;
	border-radius: 11px;
	margin-bottom: 26px;
	border: 1px solid rgba(0,0,0,.08);
	box-shadow: 0 2px 0 rgba(0, 0, 0, .14);
	overflow: visible;
	opacity: 1;
	transition: opacity .18s ease, transform .18s ease, max-height .22s ease, margin-bottom .22s ease, border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
	transition-delay: var(--hh-filter-delay, 0ms);
}

.hh-product-card.is-hidden-by-filter {
	opacity: 0;
	transform: translateY(8px) scale(.985);
	max-height: 0;
	margin-bottom: 0;
	border-color: transparent;
	box-shadow: none;
	overflow: hidden;
	pointer-events: none;
}

.hh-product-card.is-filter-pop {
	animation: hhFilterPop .22s ease both;
}

@keyframes hhFilterPop {
	0% {
		opacity: 0;
		transform: translateY(8px) scale(.985);
	}

	100% {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

@media (prefers-reduced-motion: reduce) {
	.hh-product-card, .hh-product-card.is-filter-pop {
		animation: none;
		transition: none;
	}
}

/* Compact cursusoverzicht op de homepage: twee kaarten volledig zichtbaar, derde vervaagt. */
.hh-product-card.is-course-overflow-hidden {
	display: none;
}

.hh-product-card.is-course-fade-preview {
	opacity: .62;
	transform: translateY(2px) scale(.992);
	-webkit-mask-image: linear-gradient(to bottom, #000 0%, rgba(0,0,0,.92) 42%, rgba(0,0,0,.42) 72%, transparent 100%);
	mask-image: linear-gradient(to bottom, #000 0%, rgba(0,0,0,.92) 42%, rgba(0,0,0,.42) 72%, transparent 100%);
	pointer-events: none;
}

.hh-course-expand {
	position: relative;
	z-index: 7;
	display: flex;
	justify-content: center;
	margin: -8px 0 34px;
}

/* Soepel open- en dichtschuiven van het compacte cursusoverzicht. */
.hh-product-list.is-disclosure-animating {
	overflow: hidden;
	transition: height .5s cubic-bezier(.22, 1, .36, 1);
}

.hh-course-expand[hidden] {
	display: none !important;
}

.hh-course-expand__button {
	appearance: none;
	border: 1px solid rgba(1,69,78,.18);
	border-radius: 999px;
	background: #01454e;
	color: #35e98a;
	padding: 12px 22px;
	font-family: inherit;
	font-size: 13px;
	font-weight: 800;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 5px 16px rgba(1,69,78,.12);
	transition: transform .18s ease, filter .18s ease;
}

.hh-course-expand__button:hover {
	transform: translateY(-1px);
	filter: brightness(1.05);
}

.hh-course-expand__button:focus-visible {
	outline: 3px solid rgba(53,233,138,.35);
	outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
	.hh-product-card.is-course-fade-preview,
	.hh-course-expand__button,
	.hh-product-list.is-disclosure-animating {
		transition: none;
	}
}

.hh-product-card--featured {
	background: #eafff2;
}

.hh-product-card--featured::before {
	content: "Meest gekozen🔥";
	position: absolute;
	top: -17px;
	left: 28px;
	background: #08a51d;
	color: #fff;
	font-weight: 900;
	font-size: 12px;
	line-height: 1;
	padding: 7px 13px;
	border-radius: 999px;
	z-index: 5;
}

/* Hele cursuskaart is klikbaar naar de productpagina zonder visuele wijziging. */
.hh-product-card__click-target {
	position: absolute;
	inset: 0;
	z-index: 1;
	border-radius: inherit;
	text-decoration: none !important;
	color: inherit !important;
}

.hh-product-card__content {
	position: relative;
	z-index: 2;
	pointer-events: none;
}

.hh-product-card__more,
.hh-product-card__action,
.hh-product-card__action a,
.hh-product-card__action button {
	position: relative;
	z-index: 3;
	pointer-events: auto;
}

.hh-product-card__bar {
	position: absolute;
	left: 10px;
	top: 12px;
	bottom: 12px;
	width: 8px;
	border-radius: 999px;
	background: #06a51b;
}

.hh-product-card--cat-sociale-hygiene .hh-product-card__bar {
	background: #06a51b;
}

.hh-product-card--cat-haccp .hh-product-card__bar {
	background: #AC1457;
}

.hh-product-card--cat-onboarding .hh-product-card__bar {
	background: #ff7a1a;
}

.hh-product-card__content {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 150px 170px;
	column-gap: 28px;
	row-gap: 14px;
	align-items: center;
	min-height: 74px;
	padding: 16px 24px 16px 32px;
}

.hh-product-card h2 {
	color: #08283a;
	font-size: 20px;
	line-height: 1.15;
	margin: 0 0 4px;
	font-weight: 900;
	letter-spacing: -0.02em;
}

.hh-product-card__links {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 7px;
	font-weight: 400;
	margin: 5px 0 0;
}

.hh-product-card__duration, .hh-product-card__extra-info {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	color: #09293d;
	font-size: 13px;
	line-height: 1.3;
	margin: 0;
}

.hh-product-card__duration-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 14px;
	width: 14px;
	height: 14px;
}

.hh-product-card__duration-icon svg {
	display: block;
	width: 14px;
	height: 14px;
	fill: currentColor;
}

.hh-product-card__duration-label {
	display: inline;
	color: #09293d;
	font-weight: 400;
}

.hh-product-card__duration-value {
	color:;
}

.hh-product-card__extra-info {
	color: #09293d;
	display: inline !important;
	gap: 0 !important;
}

.hh-product-card__extra-info strong {
	margin-right: 0 !important;
}

.hh-product-card__separator {
	color: #09293d;
	font-size: 13px;
	line-height: 1;
}

.hh-product-card__more {
	display: inline-block;
	color: #c02b78;
	text-decoration: none;
	font-size: 13px;
	font-weight: 400;
	margin-bottom: 0;
}

.hh-product-card__more:hover {
	color: #a51f64;
	text-decoration: underline;
}

.hh-product-card__meta {
	color: #09293d;
	font-size: 14px;
	line-height: 1.35;
}

.hh-product-card__meta p {
	margin: 0;
}

.hh-product-card__price {
	color: #08283a;
	font-size: 17px;
	font-weight: 900;
	line-height: 1.1;
	text-align: right;
	white-space: nowrap;
	justify-self: end;
}

.hh-product-card__price .hh-price-prefix {
	display: block;
	font-size: 11px;
	font-weight: 700;
	margin-bottom: 2px;
}

.hh-product-card__price .hh-price-suffix {
	display: inline;
	font-size: 10px;
	font-weight: 400;
	opacity: .9;
}

.hh-product-card__action {
	display: flex;
	justify-content: flex-end;
}

.hh-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 170px;
	border: 2px solid var(--primary-color);
	min-height: 50px;
	background: var(--primary-color);
	color: #35e98a !important;
	border-radius: 8px;
	font-size: 15px;
	line-height: 1;
	font-weight: 900;
	text-decoration: none;
	transition: .2s ease;
}

.hh-btn:hover {
	background: var(--primary-color);
	color: #35e98a !important;
	transform: translateY(-1px);
}

.hh-btn--outline {
	background: var(--primary-color);
	color: #35e98a !important;
	border: 2px solid var(--primary-color);
	box-shadow: none;
}

.hh-btn--outline:hover {
	background: var(--primary-color);
	color: #35e98a !important;
}

.hh-empty {
	background: #fff;
	border-radius: 12px;
	padding: 24px;
	color: #09293d;
	font-size: 15px;
}

.hh-page-content {
	position: relative;
	z-index: 2;
	padding: 34px 0 0;
	background: #fbf7f1;
}

.hh-page-content__inner > *:first-child {
	margin-top: 0;
}

.hh-page-content__inner > *:last-child {
	margin-bottom: 0;
}

.hh-page-content__inner h2, .hh-page-content__inner h3, .hh-page-content__inner h4 {
	font-weight: 400;
	letter-spacing: -0.02em;
}

.hh-page-content__inner p {
	margin: 0 0 18px;
}

.hh-page-content__inner ul, .hh-page-content__inner ol {
	margin: 0 0 22px 22px;
	padding: 0;
}

.hh-page-content__inner a {
	color: #c02b78;
	font-weight: 400;
}

@media (max-width: 1100px) {
	.hh-container {
		width: min(100% - 40px, 1180px);
	}

	.hh-product-card__content {
		grid-template-columns: minmax(0, 1fr) 132px 160px;
		gap: 18px;
		padding: 18px 20px 18px 46px;
	}

	.hh-product-card h2 {
		font-size: 18px;
	}

	.hh-product-card__duration, .hh-product-card__extra-info, .hh-product-card__separator, .hh-product-card__more {
		font-size: 12px;
	}

	.hh-product-card__meta {
		font-size: 13px;
	}

	.hh-product-card__price {
		font-size: 16px;
	}

	.hh-btn {
		width: 152px;
		min-height: 48px;
		font-size: 14px;
	}
}

@media (max-width: 820px) {
	.hh-course-filter-wrap {
		margin-bottom: 5px;
	}

	.hh-shop {
		padding: 0 0 0;
	}

	.hh-container {
		width: min(100% - 28px, 1180px);
	}

	.hh-offer-hero {
		margin: 0;
		padding: 34px 18px 145px;
	}

	.hh-offer-hero::after {
		bottom: -140px;
		width: 150%;
		height: 145px;
	}

	.hh-offer-hero h1 {
		font-size: 30px;
		margin-bottom: 20px;
	}

	.hh-typed-wrap {
		display: inline;
		min-width: 0;
	}

	.hh-typed-cursor {
		width: 2px;
		height: .74em;
		margin-left: 2px;
		transform: translateY(3px);
	}

	.hh-scribble-word::after {
		bottom: -6px;
		height: 12px;
	}

	.hh-offer-hero p {
		font-size: 15px;
	}

	.hh-offer-benefits {
		grid-template-columns: 1fr;
		gap: 14px;
		margin-top: 15px;
	}

	.hh-course-filter-wrap {
		justify-content: center;
		margin: 20px 0 -18px;
		transform: translateY(24px);
	}

	.hh-course-filter {
		width: auto;
		max-width: 100%;
		justify-content: center;
		flex-wrap: wrap;
		margin-bottom: 25px;
		border-radius: 16px;
		padding: 6px;
	}

	.hh-course-filter__label {
		width: auto;
		margin: 0 4px;
		font-size: 11px;
		text-align: left;
	}

	.hh-course-filter__button {
		min-height: 30px;
		padding: 0 12px;
		font-size: 10px;
	}

	.hh-product-list {
		margin-top: -100px;
	}

	.hh-product-card {
		margin-bottom: 24px;
		border-radius: 12px;
	}

	.hh-product-card__content {
		display: block;
		min-height: 0;
		padding: 24px 20px 22px 44px;
	}

	.hh-product-card h2 {
		font-size: 20px;
		margin-bottom: 5px;
	}

	.hh-product-card__links {
		margin: 4px 0 8px;
		gap: 7px;
	}

	.hh-product-card__duration, .hh-product-card__extra-info, .hh-product-card__separator, .hh-product-card__more {
		font-size: 13px;
	}

	.hh-product-card__meta {
		font-size: 14px;
	}

	.hh-product-card__price {
		text-align: left;
		margin: 16px 0;
		font-size: 20px;
	}

	.hh-product-card__price .hh-price-prefix {
		display: inline;
		margin-right: 4px;
	}

	.hh-product-card__price .hh-price-suffix {
		display: inline;
		font-size: 11px;
	}

	.hh-product-card__action {
		display: block;
	}

	.hh-btn {
		width: 100%;
		min-height: 52px;
		font-size: 16px;
	}

	.hh-product-card--featured::before {
		top: -16px;
		left: 20px;
		font-size: 12px;
		padding: 7px 12px;
	}

	.hh-product-card__bar {
		left: 10px;
		top: 12px;
		bottom: 12px;
		width: 8px;
	}

	.hh-page-content {
		padding: 28px 0 56px;
	}

	.hh-page-content__inner {
		font-size: 15px;
	}
}

.hh-route-soft {
	display: none;
	padding: 12px 20px 18px;
}

.hh-route-soft__inner {
	max-width: 1180px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
}

.hh-route-soft__label {
	flex: 0 0 auto;
}

.hh-route-soft__label span {
	display: inline-flex;
	align-items: center;
	height: 44px;
	padding: 0 16px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.10);
	border: 1px solid rgba(255, 255, 255, 0.16);
	color: rgba(255, 255, 255, 0.92);
	font-size: 14px;
	font-weight: 800;
	line-height: 1;
	white-space: nowrap;
}

.hh-route-soft__options {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	width: min(100%, 850px);
}

.hh-route-soft__item {
	min-width: 0;
	display: block;
	padding: 13px 16px;
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.94);
	border: 1px solid rgba(255, 255, 255, 0.18);
	color: #102b2a;
	text-decoration: none;
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.06);
	transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.hh-route-soft__item:hover, .hh-route-soft__item:focus {
	background: #ffffff;
	border-color: rgba(31, 171, 49, 0.35);
	box-shadow: 0 8px 18px rgba(0, 0, 0, 0.08);
	color: #102b2a;
	text-decoration: none;
	outline: none;
}

.hh-route-soft__item strong {
	display: block;
	margin: 0 0 3px;
	color: #102b2a;
	font-size: 16px;
	font-weight: 900;
	line-height: 1.15;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.hh-route-soft__item span {
	display: block;
	color: rgba(16, 43, 42, 0.68);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.25;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

@media (max-width: 980px) {
	.hh-route-soft__inner {
		display: block;
	}

	.hh-route-soft__label {
		margin-bottom: 10px;
		text-align: center;
	}

	.hh-route-soft__options {
		width: 100%;
	}
}

@media (max-width: 760px) {
	.hh-route-soft {
		padding: 10px 16px 16px;
	}

	.hh-route-soft__label {
		text-align: left;
	}

	.hh-route-soft__options {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.hh-route-soft__item {
		padding: 13px 15px;
		border-radius: 16px;
	}

	.hh-route-soft__item strong, .hh-route-soft__item span {
		white-space: normal;
		overflow: visible;
		text-overflow: unset;
	}
}

.vc_single_image-wrapper.vc_box_rounded {
	position: relative;
	display: inline-block;
	overflow: visible !important;
	border: none !important;
	border-radius: 42px !important;
}

.vc_single_image-wrapper.vc_box_rounded img {
	position: relative;
	z-index: 2;
	display: block;
	width: 100%;
	height: auto;
	border-radius: 42px !important;
	box-shadow: 0 22px 55px rgba(0, 0, 0, 0.11);
}

.vc_single_image-wrapper.vc_box_rounded::before {
	content: "";
	position: absolute;
	left: 32px;
	right: -16px;
	top: 34px;
	bottom: -16px;
	z-index: 1;
	background: rgba(255, 255, 255, 1);
	border-radius: 42px;
	transform: rotate(-2.5deg);
	pointer-events: none;
}

.vc_single_image-wrapper.vc_box_rounded::after {
	display: none !important;
	content: none !important;
}

.wpb_single_image, .wpb_wrapper.vc_figure {
	overflow: visible !important;
}

@media (max-width: 767px) {
	.vc_single_image-wrapper.vc_box_rounded, .vc_single_image-wrapper.vc_box_rounded img {
		border-radius: 28px !important;
	}

	.vc_single_image-wrapper.vc_box_rounded::before {
		left: 16px;
		right: -8px;
		top: 18px;
		bottom: -8px;
		border-radius: 28px;
		transform: rotate(-1.5deg);
		background: #fff;
	}
}

.vc_single_image-wrapper.vc_box_rounded::after {
	content: "";
	position: absolute;
	right: -10px;
	top: 42px;
	width: 54px;
	height: 54px;
	z-index: 3;
	background: #ff7a3d;
	border-radius: 999px;
	opacity: 0.9;
	box-shadow: 0 16px 34px rgba(255, 122, 61, 0.24);
	pointer-events: none;
}

body:not(.cursusaanbod) .header {
	position: relative !important;
	overflow: visible !important;
	margin-bottom: 0 !important;
	background: var(--primary-color);
	border-radius: 15px 15px 0 0 !important;
	z-index: 10;
}

body:not(.cursusaanbod) .header .topheader, body:not(.cursusaanbod) .header .header-container {
	position: relative;
	z-index: 3;
}

body:not(.cursusaanbod) .hh-header-bottom-curve {
	display: block !important;
	position: absolute;
	left: 0;
	right: 0;
	bottom: -58px;
	height: 115px;
	overflow: hidden;
	z-index: 1;
	pointer-events: none;
}

body:not(.cursusaanbod) .hh-header-bottom-curve::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 0;
	width: 130%;
	height: 90px;
	transform: translateX(-50%);
	background: var(--primary-color);
	border-radius: 0 0 50% 50%;
	pointer-events: none;
}

body:not(.cursusaanbod) .wrapper {
	position: relative;
	z-index: 20;
	margin-top: 50px;
}

body.inschrijven .wrapper {
	margin-top: 0;
}

body:not(.cursusaanbod) main {
	position: relative;
	z-index: 20;
}

@media (max-width: 820px) {
	body:not(.cursusaanbod) .header {
		margin-bottom: 0 !important;
	}

	body:not(.cursusaanbod) .hh-header-bottom-curve {
		bottom: -46px;
		height: 90px;
	}

	body:not(.cursusaanbod) .hh-header-bottom-curve::before {
		width: 150%;
		height: 90px;
	}
}

.vc_toggle_title {
	position: relative;
	padding-left: 34px !important;
}

.vc_toggle_title h4 {
	margin: 0 !important;
	font-weight: 800 !important;
	color: #1f2937;
}

.vc_toggle_title .vc_toggle_icon {
	display: none !important;
}

.vc_toggle_title::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 14px;
	height: 2px;
	background: #1f2937;
	border-radius: 10px;
	transform: translateY(-50%);
	transition: background 0.2s ease, transform 0.2s ease;
}

.vc_toggle_title::after {
	content: "";
	position: absolute;
	left: 6px;
	top: 50%;
	width: 2px;
	height: 14px;
	background: #1f2937;
	border-radius: 10px;
	transform: translateY(-50%);
	transition: opacity 0.2s ease, background 0.2s ease;
}

.vc_toggle.vc_toggle_active .vc_toggle_title::after {
	opacity: 0;
}

.vc_toggle.vc_toggle_active .vc_toggle_title::before {
	background: #ac1457;
}

.vc_toggle.vc_toggle_active .vc_toggle_title h4 {
	color: #ac1457;
}

.vc_toggle_content {
	padding-left: 34px !important;
}

@media (max-width: 767px) {
	.vc_toggle_title {
		padding-left: 28px !important;
	}

	.vc_toggle_title::before {
		width: 12px;
	}

	.vc_toggle_title::after {
		left: 5px;
		height: 12px;
	}

	.vc_toggle_content {
		padding-left: 28px !important;
	}
}

body.page-id-37 .vc_row > .wpb_column.vc_col-sm-6 {
	width: calc(50% - 16px) !important;
	margin-bottom: 34px !important;
}

body.page-id-37 .vc_row > .wpb_column.vc_col-sm-6:nth-child(odd) {
	margin-right: 16px;
}

body.page-id-37 .vc_row > .wpb_column.vc_col-sm-6:nth-child(even) {
	margin-left: 16px;
}

body.page-id-37 .vc_row > .wpb_column.vc_col-sm-6 > .vc_column-inner {
	height: 100%;
}

@media (max-width: 767px) {
	body.page-id-37 .vc_row > .wpb_column.vc_col-sm-6 {
		width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		margin-bottom: 26px !important;
	}
}

body.cursusaanbod {
	background: #fbf7f1 !important;
}

body.cursusaanbod #panel {
	position: relative;
	background: #fbf7f1 !important;
	overflow: hidden;
}

body.cursusaanbod #panel::before, body.cursusaanbod #panel::after {
	display: none !important;
	content: none !important;
}

body.cursusaanbod .header {
	position: absolute !important;
	left: 10px;
	right: 10px;
	top: 10px;
	width: auto !important;
	float: none !important;
	margin: 0 !important;
	z-index: 20;
	background: transparent !important;
	background-image: none !important;
	border-radius: 15px 15px 0 0 !important;
	overflow: visible !important;
}

body.cursusaanbod .hh-header-bottom-curve {
	display: none !important;
}

body.cursusaanbod .topheader {
	background: rgba(0, 0, 0, 0.12) !important;
	border-radius: 15px 15px 0 0 !important;
}

body.cursusaanbod .header .topheader, body.cursusaanbod .header .header-container, body.cursusaanbod .header .mainheader {
	position: relative !important;
	z-index: 21 !important;
}

body.cursusaanbod .wrapper, body.cursusaanbod main, body.cursusaanbod .hh-shop {
	position: relative;
	z-index: 1;
	background: #fbf7f1 !important;
}

body.cursusaanbod .footer-container {
	background: var(--primary-color) !important;
}

body.cursusaanbod .hh-offer-hero {
	position: relative !important;
	z-index: 1 !important;
	overflow: hidden !important;
	margin: 0 !important;
	padding: 205px 0 175px !important;
	border-radius: 15px !important;
	background-color: #002f36 !important;
	background-image:
		radial-gradient(ellipse at 50% 20%, rgba(0, 102, 112, .52) 0%, rgba(0, 76, 86, .34) 34%, rgba(0, 47, 54, 0) 68%),
		linear-gradient(180deg, #00363e 0%, #002f36 100%) !important;
	color: #fff !important;
}

body.cursusaanbod .hh-offer-hero::before, body.cursusaanbod .hh-offer-hero::after {
	display: none !important;
	content: none !important;
}

body.cursusaanbod .hh-offer-hero__inner {
	position: relative !important;
	z-index: 2 !important;
}

/* Homepage hero accent, matching the teal/green visual direction. */
body.cursusaanbod .hh-typed-wrap,
body.cursusaanbod .hh-typed-word {
	color: #35e98a !important;
}

body.cursusaanbod .hh-scribble-word::after {
	background-image: url("data:image/svg+xml,%3Csvg width='520' height='34' viewBox='0 0 520 34' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 18 C72 5 137 20 202 13 C267 6 331 21 396 13 C448 8 487 14 513 10' stroke='%2335e98a' stroke-width='7' stroke-linecap='round' fill='none'/%3E%3Cpath d='M10 25 C84 15 148 28 224 20 C300 12 371 27 508 18' stroke='%2335e98a' stroke-width='4' stroke-linecap='round' fill='none' opacity='.85'/%3E%3C/svg%3E") !important;
}

body.cursusaanbod .hh-offer-benefits__icon {
	border-color: #35e98a;
	color: #35e98a;
}

body.cursusaanbod .hh-product-list {
	position: relative !important;
	z-index: 3 !important;
	margin-top: -122px;
}

body.cursusaanbod .hh-page-content {
	position: relative;
	z-index: 4;
	background: #fbf7f1 !important;
}

@media (max-width: 820px) {
	body.cursusaanbod .header {
		left: 10px;
		right: 10px;
		top: 10px;
		border-radius: 12px 12px 0 0 !important;
	}

	body.cursusaanbod .topheader {
		border-radius: 12px 12px 0 0 !important;
	}

	body.cursusaanbod .hh-offer-hero {
		padding: 165px 18px 145px !important;
		border-radius: 12px !important;
		background-color: #002f36 !important;
		background-image:
			radial-gradient(ellipse at 50% 18%, rgba(0, 102, 112, .50) 0%, rgba(0, 76, 86, .32) 36%, rgba(0, 47, 54, 0) 70%),
			linear-gradient(180deg, #00363e 0%, #002f36 100%) !important;
	}

	body.cursusaanbod .hh-product-list {
		margin-top: -100px;
	}
}

body.single-product {
	background: #fbf7f1 !important;
}

body.single-product #panel {
	position: relative;
	background: #fbf7f1 !important;
	overflow: hidden;
}

body.single-product #panel::before, body.single-product #panel::after {
	display: none !important;
	content: none !important;
}

body.single-product .header {
	position: absolute !important;
	left: 10px;
	right: 10px;
	top: 10px;
	z-index: 30;
	float: none !important;
	width: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	background: transparent !important;
	background-image: none !important;
	border-radius: 15px 15px 0 0 !important;
	overflow: visible !important;
}

body.single-product .header .topheader, body.single-product .header .header-container, body.single-product .header .mainheader {
	position: relative !important;
	z-index: 21 !important;
}

body.single-product .topheader {
	background: rgba(0, 0, 0, 0.12) !important;
	border-radius: 15px 15px 0 0 !important;
}

body.single-product .header p#breadcrumbs, body.single-product .header h1, body.single-product .hh-header-bottom-curve {
	display: none !important;
}

body.single-product .wrapper {
	position: relative;
	z-index: 0;
	margin-top: 0 !important;
	background: #fbf7f1 !important;
}

body.single-product main.hh-course-product {
	position: relative;
	z-index: 1;
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	background: #fbf7f1 !important;
	border-radius: 0 !important;
	color: #111;
}

body.single-product .footer-container {
	background: var(--primary-color) !important;
}

.hh-course-product {
	--hh-course-accent: #e5ff00;
	--hh-course-accent-dark: #627000;
	--hh-course-soft: #f8ffe0;
}

.hh-course-product--sociale-hygiene {
	--hh-course-accent: #06a51b;
	--hh-course-accent-dark: #087f18;
	--hh-course-soft: #eafff2;
}

.hh-course-product--haccp {
	--hh-course-accent: #AC1457;
	--hh-course-accent-dark: #ac1457;
	--hh-course-soft: #fff0fb;
}

.hh-course-product--onboarding {
	--hh-course-accent: #ff8a3d;
	--hh-course-accent-dark: #c45106;
	--hh-course-soft: #fff3e9;
}

.hh-course-product__container {
	width: min(100% - 48px, 1180px);
	margin-right: auto;
	margin-left: auto;
}

.hh-course-product__notices {
	position: absolute;
	left: 0;
	right: 0;
	top: 155px;
	z-index: 20;
	pointer-events: none;
}

.hh-course-product__notices .woocommerce-notices-wrapper, .hh-course-product__notices .woocommerce-message, .hh-course-product__notices .woocommerce-info, .hh-course-product__notices .woocommerce-error {
	pointer-events: auto;
}

.hh-course-hero {
	position: relative;
	z-index: 1;
	overflow: hidden;
	min-height: 760px;
	margin: 0;
	padding: 205px 0 105px;
	border-radius: 15px;
	background: var(--primary-color);
	background-image: none;
	background-color: var(--primary-color);
	color: #fff;
}

.hh-course-hero::before {
	content: "";
	position: absolute;
	right: -100px;
	bottom: -170px;
	width: 520px;
	height: 520px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 50%;
	box-shadow: 0 0 0 80px rgba(255, 255, 255, 0.025), 0 0 0 160px rgba(255, 255, 255, 0.018);
	pointer-events: none;
}

.hh-course-hero::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 130px;
	background: linear-gradient(to top, rgba(48, 0, 42, 0.30), transparent);
	pointer-events: none;
}

.hh-course-hero__grid {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 410px;
	gap: 76px;
	align-items: center;
}

.hh-course-hero__content {
	min-width: 0;
	padding: 8px 0;
}

.hh-course-back {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 30px;
	color: rgba(255, 255, 255, 0.80) !important;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	transition: 0.18s ease;
}

.hh-course-back span {
	font-size: 18px;
	line-height: 1;
	transition: transform 0.18s ease;
}

.hh-course-back:hover {
	color: #fff !important;
}

.hh-course-back:hover span {
	transform: translateX(-3px);
}

.hh-course-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	min-height: 34px;
	margin: 0 0 18px;
	padding: 0 15px;
	border: 1px solid rgba(255, 255, 255, 0.20);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.10);
	color: #fff;
	font-size: 13px;
	font-weight: 800;
	line-height: 1;
	backdrop-filter: blur(5px);
}

.hh-course-eyebrow__dot {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--hh-course-accent);
	box-shadow: 0 0 0 5px rgba(255, 255, 255, 0.08);
}

.hh-course-hero h1 {
	float: none;
	width: auto;
	max-width: 760px;
	margin: 0 0 24px;
	color: #fff;
	font-size: 40px;
	font-weight: 800;
	line-height: 1.03;
	letter-spacing: -0.02em;
	text-align: left;
}

.hh-course-hero__intro {
	max-width: 680px;
	color: rgba(255, 255, 255, 0.92);
	font-size: 18px;
	line-height: 1.62;
}

.hh-course-hero__intro p {
	margin: 0;
	color: inherit;
}

.hh-course-hero__intro a {
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 4px;
}

.hh-course-facts {
	display: flex;
	align-items: stretch;
	flex-wrap: wrap;
	gap: 12px;
	margin: 30px 0 0;
}

.hh-course-fact {
	display: inline-flex;
	align-items: center;
	gap: 11px;
	min-height: 60px;
	padding: 9px 15px 9px 10px;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.08);
	backdrop-filter: blur(4px);
}

.hh-course-fact__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 40px;
	width: 40px;
	height: 40px;
	border-radius: 11px;
	background: #06a51b;
	color: #22001e;
}

.hh-course-fact__icon svg {
	display: block;
	width: 21px;
	height: 21px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.hh-course-fact small, .hh-course-fact strong {
	display: block;
}

.hh-course-fact small {
	margin-bottom: 2px;
	color: rgba(255, 255, 255, 0.66);
	font-size: 10px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.hh-course-fact strong {
	color: #fff;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.25;
}

.hh-course-fact strong p {
	display: inline;
	margin: 0;
}

.hh-course-hero__benefits {
	display: grid;
	gap: 11px;
	margin: 30px 0 0;
	padding: 0;
	list-style: none;
}

.hh-course-hero__benefits li {
	display: flex;
	align-items: center;
	gap: 11px;
	margin: 0;
	color: rgba(255, 255, 255, 0.92);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.35;
}

.hh-course-hero__benefits li > span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 23px;
	width: 23px;
	height: 23px;
	border-radius: 50%;
	background: #06a51b;
	color: #22001e;
	font-size: 13px;
	font-weight: 900;
	line-height: 1;
}

.hh-course-buy-card {
	position: relative;
	padding: 34px;
	border: 1px solid rgba(255, 255, 255, 0.34);
	border-radius: 24px;
	background: rgba(255, 255, 255, 0.97);
	box-shadow: 0 26px 70px rgba(0, 0, 0, 0.22);
	color: #111;
	backdrop-filter: blur(12px);
}

.hh-course-buy-card::before {
	content: "";
	position: absolute;
	left: 20px;
	right: 20px;
	top: -6px;
	height: 6px;
	border-radius: 999px 999px 0 0;
	background: var(--hh-course-accent);
}

.hh-course-buy-card__label {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	margin: 0 0 14px;
	padding: 0 11px;
	border-radius: 999px;
	background: var(--hh-course-soft);
	color: var(--hh-course-accent-dark);
	font-size: 11px;
	font-weight: 900;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: 0.07em;
}

.hh-course-buy-card h2 {
	margin: 0 0 10px;
	color: #111;
	font-size: 29px;
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: -0.04em;
}

.hh-course-buy-card__text {
	margin: 0 0 24px;
	color: #5a5a5a;
	font-size: 14px;
	line-height: 1.55;
}

.hh-course-buy-card__price {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	column-gap: 12px;
	margin: 0 0 24px;
	padding: 18px 0;
	border-top: 1px solid #ececec;
	border-bottom: 1px solid #ececec;
}

.hh-course-buy-card__price-label {
	grid-column: 1;
	color: #666;
	font-size: 13px;
	font-weight: 700;
}

.hh-course-buy-card__price strong {
	grid-column: 2;
	grid-row: 1 / span 2;
	color: #111;
	font-size: 31px;
	font-weight: 900;
	line-height: 1;
	letter-spacing: -0.04em;
	white-space: nowrap;
}

.hh-course-buy-card__price strong .woocommerce-Price-currencySymbol {
	font-size: 0.70em;
	vertical-align: 0.12em;
}

.hh-course-buy-card__price small {
	grid-column: 1;
	color: #8a8a8a;
	font-size: 11px;
	font-weight: 600;
}

.hh-course-buy-card__price .hh-course-buy-card__price-note--included {
	grid-column: 1 / -1;
	margin-top: 7px;
	color: #4e5d58;
	font-weight: 800;
	line-height: 1.4;
}

.hh-course-buy-card__quantity-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 16px;
}

.hh-course-buy-card__quantity-row > label {
	margin: 0;
	color: #222;
	font-size: 13px;
	font-weight: 800;
}

.hh-course-quantity {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 4px;
	border: 1px solid #dfdfdf;
	border-radius: 999px;
	background: #f7f7f7;
}

.hh-course-quantity__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #111;
	color: #fff;
	font-family: inherit;
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	transition: 0.16s ease;
}

.hh-course-quantity__button:hover {
	background: #000;
	transform: translateY(-1px);
}

.hh-course-quantity .quantity {
	display: block;
	margin: 0 !important;
}

.hh-course-quantity input.qty, .hh-course-quantity__input {
	display: block !important;
	width: 46px !important;
	height: 34px !important;
	min-height: 34px !important;
	margin: 0 !important;
	padding: 0 3px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #111 !important;
	font-size: 15px !important;
	font-weight: 900 !important;
	line-height: 34px !important;
	text-align: center;
	appearance: textfield;
	-moz-appearance: textfield;
}

.hh-course-quantity input.qty::-webkit-outer-spin-button, .hh-course-quantity input.qty::-webkit-inner-spin-button {
	margin: 0;
	appearance: none;
	-webkit-appearance: none;
}

.hh-course-buy-card__button, .hh-course-buy-card button.hh-course-buy-card__button, .hh-course-buy-card .single_add_to_cart_button.hh-course-buy-card__button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100% !important;
	min-height: 58px !important;
	margin: 0 !important;
	padding: 0 24px !important;
	border: 0 !important;
	border-bottom: 4px solid rgba(0, 0, 0, 0.22) !important;
	border-radius: 12px !important;
	background: var(--hh-course-accent) !important;
	box-shadow: none !important;
	color: #f6f7f9 !important;
	font-family: inherit;
	font-size: 16px !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	cursor: pointer;
	transition: 0.18s ease;
}

.hh-course-buy-card__button:hover, .hh-course-buy-card button.hh-course-buy-card__button:hover, .hh-course-buy-card .single_add_to_cart_button.hh-course-buy-card__button:hover {
	background: var(--hh-course-accent) !important;
	color: #f6f7f9 !important;
	transform: translateY(-1px);
}

.hh-payment-methods--product {
	margin: 15px 0 0;
	padding: 14px 0 0;
	border-top: 1px solid #ececec;
}

.hh-payment-methods--product .hh-payment-methods__title {
	width: 100%;
	color: #777;
}

.hh-payment-methods--product .hh-payment-methods__logos {
	width: 100%;
}

.hh-payment-methods--product .hh-payment-logo {
	height: 32px;
}

@media (max-width: 460px) {
	.hh-payment-methods--product .hh-payment-methods__logos {
		gap: 6px;
	}

	.hh-payment-methods--product .hh-payment-logo {
		padding-left: 8px;
		padding-right: 8px;
	}
}

.hh-course-buy-card__discount {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 18px 0 0;
	padding: 13px 14px;
	border: 1px solid #e7e7e7;
	border-radius: 13px;
	background: #fafafa;
	color: #555;
	font-size: 12px;
	line-height: 1.45;
}

.hh-course-buy-card__discount > span:first-child {
	font-size: 17px;
	line-height: 1.2;
}

.hh-course-buy-card__discount strong, .hh-course-buy-card__discount b {
	color: #111;
	font-weight: 900;
}

.hh-course-buy-card__assurances {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 7px 15px;
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
	color: #777;
	font-size: 11px;
	font-weight: 700;
}

.hh-course-buy-card__assurances li {
	position: relative;
	margin: 0;
	padding-left: 12px;
}

.hh-course-buy-card__assurances li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--hh-course-accent-dark);
	transform: translateY(-50%);
}

.hh-course-buy-card__warning {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: -8px 0 20px;
	padding: 13px 14px;
	border: 1px solid rgba(195, 42, 123, 0.22);
	border-radius: 13px;
	background: rgba(195, 42, 123, 0.07);
	color: #4b2940;
	font-size: 12px;
	line-height: 1.45;
}

.hh-course-buy-card__warning-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 20px;
	width: 20px;
	height: 20px;
	margin-top: 1px;
	border-radius: 50%;
	background: #c32a7b;
	color: #fff;
	font-size: 12px;
	font-weight: 900;
	line-height: 1;
}

.hh-course-buy-card__warning strong {
	font-weight: 900;
}

.hh-course-buy-card__unavailable {
	padding: 16px;
	border-radius: 12px;
	background: #f5f5f5;
	color: #555;
	font-size: 14px;
	font-weight: 700;
	text-align: center;
}

.hh-course-buy-card__standard-cart form.cart {
	margin: 0 !important;
}

.hh-course-buy-card__standard-cart .single_add_to_cart_button {
	width: 100% !important;
	min-height: 56px !important;
	border-radius: 12px !important;
	background: #e5ff00 !important;
	color: #30002a !important;
	font-weight: 900 !important;
}

.hh-course-proof {
	position: relative;
	z-index: 5;
	margin-top: -48px;
	padding: 0 0 25px;
}

.hh-course-proof__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

.hh-course-proof__item {
	display: flex;
	align-items: center;
	gap: 16px;
	min-height: 96px;
	padding: 20px 24px;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 16px;
	background: #fff;
}

.hh-course-proof__number {
	flex: 0 0 auto;
	color: var(--primary-color);
	font-size: 25px;
	font-weight: 900;
	line-height: 1;
	letter-spacing: -0.04em;
}

.hh-course-proof__text {
	color: #555;
	font-size: 13px;
	font-weight: 650;
	line-height: 1.35;
}

.hh-course-content {
	position: relative;
	z-index: 2;
	width: 100%;
	padding: 10px 0 30px;
	background: #fbf7f1;
}

.hh-course-content__container {
	position: relative;
	min-width: 0;
}

.hh-course-content__wpbakery {
	position: relative;
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

body.single-product .hh-course-content__wpbakery > .vc_row, body.single-product .hh-course-content__wpbakery > .vc_section, body.single-product .hh-course-content__wpbakery > [data-vc-full-width="true"] {
	position: relative !important;
	left: auto !important;
	right: auto !important;
	width: 100% !important;
	max-width: 100% !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
	transform: none !important;
	box-sizing: border-box !important;
}

body.single-product .hh-course-content__wpbakery > .vc_row[data-vc-stretch-content="true"], body.single-product .hh-course-content__wpbakery > .vc_section[data-vc-stretch-content="true"] {
	padding-right: 0 !important;
	padding-left: 0 !important;
}

body.single-product .hh-course-content__wpbakery > .vc_row::before, body.single-product .hh-course-content__wpbakery > .vc_row::after, body.single-product .hh-course-content__wpbakery > .vc_section::before, body.single-product .hh-course-content__wpbakery > .vc_section::after {
	box-sizing: border-box;
}

.hh-course-content__wpbakery > *:first-child {
	margin-top: 0;
}

.hh-course-content__wpbakery > *:last-child {
	margin-bottom: 0;
}

.hh-course-product__empty {
	margin: 80px 0;
	padding: 40px;
	border-radius: 20px;
	background: #fff;
}

.hh-course-product__empty h1 {
	float: none;
	margin: 0;
	color: #111;
	text-align: left;
}

@media (max-width: 1050px) {
	.hh-course-hero {
		min-height: 0;
		padding-bottom: 95px;
	}

	.hh-course-hero__grid {
		grid-template-columns: minmax(0, 1fr) 370px;
		gap: 44px;
	}

	.hh-course-buy-card {
		padding: 28px;
	}

	.hh-course-hero h1 {
		font-size: clamp(40px, 5vw, 56px);
	}
}

@media (max-width: 860px) {
	body.single-product .header {
		left: 10px;
		right: 10px;
		top: 10px;
		background: var(--primary-color) !important;
		border-radius: 12px 12px 0 0 !important;
	}

	body.single-product .topheader {
		border-radius: 12px 12px 0 0 !important;
	}

	/*
	 * De cursus-hero ligt visueel onder de absolute header. Daardoor is een
	 * border-radius op de header zelf niet zichtbaar: de groene hero schijnt
	 * in de hoeken door. Deze twee kleine masks snijden uitsluitend de
	 * bovenhoeken van de zichtbare header uit, zonder de overgang naar de
	 * cursus-hero af te ronden.
	 */
	body.single-product .header::before,
	body.single-product .header::after {
		content: "";
		position: absolute;
		top: 0;
		width: 12px;
		height: 12px;
		z-index: 60;
		pointer-events: none;
	}

	body.single-product .header::before {
		left: 0;
		background: radial-gradient(circle at 100% 100%, transparent 0 11.5px, #fbf7f1 12px);
	}

	body.single-product .header::after {
		right: 0;
		background: radial-gradient(circle at 0 100%, transparent 0 11.5px, #fbf7f1 12px);
	}

	.hh-course-product__container {
		width: min(100% - 28px, 1180px);
	}

	.hh-course-product__notices {
		position: relative;
		top: auto;
		z-index: 10;
		padding: 120px 0 0;
		background: var(--primary-color);
	}

	.hh-course-product__notices:empty {
		display: none;
	}

	.hh-course-hero {
		padding: 065px 0 82px;
		border-radius: 0 0 12px 12px;
		background: var(--primary-color);
		background-image: none;
		background-color: var(--primary-color);
	}

	.hh-course-hero__grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.hh-course-hero__content {
		padding: 0;
	}

	.hh-course-back {
		margin-bottom: 24px;
	}

	.hh-course-hero h1 {
		max-width: 680px;
	}

	.hh-course-buy-card {
		width: min(100%, 560px);
		margin: 0 auto;
	}

	.hh-course-proof {
		margin-top: -32px;
		padding-bottom: 56px;
	}

	.hh-course-proof__grid {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.hh-course-proof__item {
		min-height: 76px;
	}
}

@media (max-width: 560px) {
	.hh-course-hero {
		padding: 25px 0 72px;
	}

	.hh-course-eyebrow {
		margin-bottom: 15px;
	}

	.hh-course-hero h1 {
		margin-bottom: 18px;
		font-size: 38px;
		line-height: 1.05;
	}

	.hh-course-hero__intro {
		font-size: 16px;
		line-height: 1.55;
	}

	.hh-course-facts {
		display: grid;
		grid-template-columns: 1fr;
		gap: 9px;
		margin-top: 24px;
	}

	.hh-course-fact {
		width: 100%;
	}

	.hh-course-hero__benefits {
		margin-top: 25px;
	}

	.hh-course-buy-card {
		padding: 26px 22px;
		border-radius: 20px;
	}

	.hh-course-buy-card h2 {
		font-size: 26px;
	}

	.hh-course-buy-card__price strong {
		font-size: 27px;
	}

	.hh-course-buy-card__quantity-row {
		align-items: flex-start;
		flex-direction: column;
		gap: 9px;
	}

	.hh-course-quantity {
		width: 100%;
		justify-content: space-between;
	}

	.hh-course-quantity .quantity {
		flex: 1;
	}

	.hh-course-quantity input.qty, .hh-course-quantity__input {
		width: 100% !important;
	}

	.hh-course-buy-card__assurances {
		justify-content: flex-start;
	}

	.hh-course-proof__item {
		padding: 18px 20px;
	}

	.hh-course-content {
		padding-bottom: 24px;
	}
}

@media (min-width: 1101px) {
	.hh-course-floating-cta {
		position: fixed;
		right: 30px;
		bottom: 24px;
		z-index: 60;
		width: min(520px, calc(100vw - 48px));
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transform: translateY(20px) scale(.985);
		transform-origin: right bottom;
		transition: opacity .22s ease, transform .22s ease, visibility .22s ease;
	}

	.hh-course-floating-cta.is-visible {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translateY(0) scale(1);
	}

	.hh-course-floating-cta__inner {
		position: relative;
		overflow: hidden;
		padding: 20px;
		border: 1px solid rgba(48, 0, 42, .10);
		border-radius: 20px;
		background: rgba(255, 255, 255, .98);
		box-shadow: 0 22px 60px rgba(48, 0, 42, .20);
		backdrop-filter: blur(12px);
	}

	.hh-course-floating-cta__inner::before {
		content: "";
		position: absolute;
		left: 20px;
		right: 20px;
		top: 0;
		height: 5px;
		border-radius: 0 0 999px 999px;
		background: var(--hh-course-accent);
	}

	.hh-course-floating-cta__top {
		padding: 4px 0 17px;
		border-bottom: 1px solid #ece8eb;
	}

	.hh-course-floating-cta__label {
		display: inline-flex;
		align-items: center;
		min-height: 28px;
		margin: 0 0 12px;
		padding: 0 11px;
		border-radius: 999px;
		background: #f4f0eb;
		color: var(--primary-color);
		font-size: 11px;
		font-weight: 900;
		line-height: 1;
		text-transform: uppercase;
		letter-spacing: .07em;
	}

	.hh-course-floating-cta__summary {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 24px;
		align-items: end;
	}

	.hh-course-floating-cta__title {
		min-width: 0;
		color: #111;
		font-size: 20px;
		font-weight: 900;
		line-height: 1.22;
		letter-spacing: -.025em;
	}

	.hh-course-floating-cta__price {
		display: flex;
		align-items: baseline;
		gap: 6px;
		color: #111;
		font-size: 22px;
		font-weight: 900;
		line-height: 1;
		white-space: nowrap;
	}

	.hh-course-floating-cta__price .woocommerce-Price-currencySymbol {
		font-size: .72em;
		vertical-align: .1em;
	}

	.hh-course-floating-cta__price small {
		color: #777;
		font-size: 10px;
		font-weight: 700;
	}

	.hh-course-floating-cta__bottom {
		padding-top: 17px;
	}

	.hh-course-floating-cta__form {
		display: grid;
		grid-template-columns: minmax(190px, 1fr) auto;
		gap: 18px;
		align-items: end;
		margin: 0;
	}

	.hh-course-floating-cta__quantity-block {
		min-width: 0;
	}

	.hh-course-floating-cta__quantity-block > label {
		display: block;
		margin: 0 0 7px;
		color: #333;
		font-size: 12px;
		font-weight: 800;
		line-height: 1.2;
	}

	.hh-course-floating-cta__quantity {
		width: 100%;
		min-height: 48px;
		justify-content: space-between;
		padding: 5px;
	}

	.hh-course-floating-cta__quantity .quantity {
		flex: 1;
	}

	.hh-course-floating-cta__quantity input.qty, .hh-course-floating-cta__quantity .hh-course-quantity__input {
		width: 100% !important;
	}

	.hh-course-floating-cta__quantity .hh-course-quantity__button {
		width: 36px;
		height: 36px;
		flex: 0 0 36px;
	}

	.hh-course-floating-cta__button {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 205px;
		min-height: 51px;
		padding: 0 24px;
		border: 0;
		border-bottom: 4px solid rgba(0, 0, 0, .22);
		border-radius: 12px;
		background: var(--hh-course-accent);
		color: #f6f7f9 !important;
		font-family: inherit;
		font-size: 15px;
		font-weight: 900;
		line-height: 1;
		text-decoration: none !important;
		white-space: nowrap;
		cursor: pointer;
		transition: .18s ease;
	}

	.hh-course-floating-cta__button:hover {
		background: var(--hh-course-accent);
		color: #f6f7f9 !important;
		transform: translateY(-1px);
	}

	.hh-course-floating-cta__button--outline {
		float: right;
		background: #111;
		color: #fff !important;
	}

	.hh-course-floating-cta__button--outline:hover {
		background: #000;
		color: #fff !important;
	}

	.hh-course-floating-cta__helper {
		float: left;
		max-width: 255px;
		margin: 7px 18px 0 0;
		color: #666;
		font-size: 13px;
		line-height: 1.45;
	}
}

@media (min-width: 701px) and (max-width: 1100px) {
	.hh-course-floating-cta {
		display: none !important;
	}
}

/* Mobiel: compacte sticky inschrijf-CTA zodra het gewone bestelblok uit beeld is. */
@media (max-width: 700px) {
	.hh-course-floating-cta {
		position: fixed;
		left: 10px;
		right: 10px;
		bottom: 10px;
		bottom: max(10px, env(safe-area-inset-bottom));
		z-index: 9997;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transform: translateY(18px);
		transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
	}

	.hh-course-floating-cta.is-visible {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translateY(0);
	}

	.hh-course-floating-cta__inner {
		position: relative;
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		align-items: center;
		gap: 10px;
		overflow: hidden;
		padding: 9px;
		border: 1px solid rgba(1, 69, 78, .12);
		border-radius: 16px;
		background: rgba(255, 255, 255, .98);
		box-shadow: 0 12px 34px rgba(0, 0, 0, .18);
		backdrop-filter: blur(12px);
	}

	.hh-course-floating-cta__inner::before {
		content: "";
		position: absolute;
		left: 9px;
		top: 9px;
		bottom: 9px;
		width: 4px;
		border-radius: 999px;
		background: var(--hh-course-accent);
	}

	.hh-course-floating-cta__top {
		min-width: 78px;
		padding: 0 0 0 12px;
		border: 0;
	}

	.hh-course-floating-cta__label,
	.hh-course-floating-cta__title {
		display: none;
	}

	.hh-course-floating-cta__summary {
		display: block;
	}

	.hh-course-floating-cta__price {
		display: flex;
		align-items: baseline;
		gap: 4px;
		color: #111;
		font-size: 20px;
		font-weight: 900;
		line-height: 1;
		letter-spacing: -.025em;
		white-space: nowrap;
	}

	.hh-course-floating-cta__price small {
		display: none;
	}

	.hh-course-floating-cta__bottom {
		min-width: 0;
		padding: 0;
	}

	.hh-course-floating-cta__form {
		display: block;
		margin: 0;
	}

	.hh-course-floating-cta__quantity-block,
	.hh-course-floating-cta__helper {
		display: none;
	}

	.hh-course-floating-cta__button {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		min-width: 0;
		min-height: 49px;
		margin: 0;
		padding: 0 15px;
		border: 0;
		border-bottom: 4px solid rgba(0, 0, 0, .22);
		border-radius: 11px;
		background: var(--hh-course-accent);
		color: #f6f7f9 !important;
		font-family: inherit;
		font-size: 14px;
		font-weight: 900;
		line-height: 1;
		text-decoration: none !important;
		white-space: nowrap;
		cursor: pointer;
	}

	.hh-course-floating-cta--no-price .hh-course-floating-cta__inner {
		grid-template-columns: 1fr;
	}

	.hh-course-floating-cta--no-price .hh-course-floating-cta__top,
	.hh-course-floating-cta--no-price .hh-course-floating-cta__inner::before {
		display: none;
	}
}

/* =========================================================
   HorecaHero - homepage header zonder achtergrondafbeelding
========================================================= */
body.home .header,
body.home .full-header-bg {
	background: var(--primary-color) !important;
	background-color: var(--primary-color) !important;
	background-image: none !important;
}

/* Voorkomt dat een inline achtergrondinstelling alsnog zichtbaar wordt. */
body.home .header[style],
body.home .full-header-bg[style] {
	background: var(--primary-color) !important;
	background-color: var(--primary-color) !important;
	background-image: none !important;
}

/* =========================================================
   HorecaHero - floating WhatsApp contact
========================================================= */
.hh-whatsapp-float {
	position: fixed;
	right: 26px;
	bottom: 26px;
	z-index: 9998;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	min-height: 64px;
	padding: 9px 18px 9px 10px;
	border: 1px solid rgba(26, 73, 72, .12);
	border-radius: 999px;
	background: #fff;
	color: var(--primary-color) !important;
	text-decoration: none !important;
	box-shadow: 0 10px 28px rgba(0, 0, 0, .13);
	transition: transform .18s ease, background-color .18s ease, color .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.hh-whatsapp-float:hover,
.hh-whatsapp-float:focus,
.hh-whatsapp-float:active {
	background: #fff !important;
	color: var(--primary-color) !important;
	text-decoration: none !important;
	transform: translateY(-2px);
	box-shadow: 0 13px 32px rgba(0, 0, 0, .16);
}

.hh-whatsapp-float__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 46px;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: var(--primary-color);
	color: #fff;
}

.hh-whatsapp-float__icon svg {
	display: block;
	width: 26px;
	height: 26px;
}


.hh-whatsapp-float__copy {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
	min-width: 0;
}

.hh-whatsapp-float__copy strong {
	font-size: 14px;
	font-weight: 800;
	line-height: 1.2;
	white-space: nowrap;
}

.hh-whatsapp-float__status {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 10px;
	font-weight: 600;
	line-height: 1.25;
	white-space: nowrap;
	opacity: .76;
}

.hh-whatsapp-float__dot {
	flex: 0 0 7px;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #1f9d55;
	box-shadow: 0 0 0 3px rgba(31, 157, 85, .12);
}

.hh-whatsapp-float.is-closed {
	border-color: rgba(0, 0, 0, .08);
	background: #fff;
	color: #5f6363 !important;
}

.hh-whatsapp-float.is-closed:hover,
.hh-whatsapp-float.is-closed:focus,
.hh-whatsapp-float.is-closed:active {
	background: #fff !important;
	color: #4e5252 !important;
}

.hh-whatsapp-float.is-closed .hh-whatsapp-float__icon {
	background: #777c7c;
	color: #fff;
}

.hh-whatsapp-float.is-closed .hh-whatsapp-float__dot {
	background: #9a9e9e;
	box-shadow: none;
}

/* Op cursuspagina's kan de inschrijfkaart rechtsonder verschijnen. */
@media (min-width: 1101px) {
	body.single-product:has(.hh-course-floating-cta.is-visible) .hh-whatsapp-float {
		bottom: 275px;
	}
}

@media (max-width: 700px) {
	.hh-whatsapp-float {
		right: 16px;
		bottom: 16px;
		min-height: 58px;
		padding: 7px 14px 7px 8px;
		gap: 10px;
	}

	.hh-whatsapp-float__icon {
		flex-basis: 42px;
		width: 42px;
		height: 42px;
	}

	.hh-whatsapp-float__icon svg {
		width: 24px;
		height: 24px;
	}

	.hh-whatsapp-float__copy strong {
		font-size: 13px;
	}

	.hh-whatsapp-float__status {
		font-size: 9px;
	}
}

/* Op mobiele PDP's maakt WhatsApp ruimte voor de sticky inschrijf-CTA. */
@media (max-width: 700px) {
	body.single-product:has(.hh-course-floating-cta.is-visible) .hh-whatsapp-float {
		right: 16px;
		bottom: 84px;
		bottom: calc(74px + max(10px, env(safe-area-inset-bottom)));
		min-width: 52px;
		width: 52px;
		min-height: 52px;
		height: 52px;
		padding: 5px;
		gap: 0;
	}

	body.single-product:has(.hh-course-floating-cta.is-visible) .hh-whatsapp-float__copy {
		display: none;
	}

	body.single-product:has(.hh-course-floating-cta.is-visible) .hh-whatsapp-float__icon {
		flex: 0 0 42px;
		width: 42px;
		height: 42px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.hh-course-floating-cta,
	.hh-whatsapp-float {
		transition: none;
	}
}


/* =========================================================
   HorecaHero - WhatsApp voorbereiding modal
========================================================= */
.hh-whatsapp-float {
	font-family: inherit;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	text-align: left;
}

.hh-whatsapp-modal {
	position: fixed;
	inset: 0;
	z-index: 10020;
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
	padding: 24px;
	visibility: hidden;
	pointer-events: none;
}

.hh-whatsapp-modal.is-visible {
	visibility: visible;
	pointer-events: auto;
}

.hh-whatsapp-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(18, 36, 35, .28);
	opacity: 0;
	transition: opacity .2s ease;
}

.hh-whatsapp-modal.is-visible .hh-whatsapp-modal__backdrop {
	opacity: 1;
}

.hh-whatsapp-modal__panel {
	position: relative;
	z-index: 1;
	width: min(100%, 470px);
	max-height: calc(100vh - 48px);
	overflow-y: auto;
	padding: 26px;
	border: 1px solid rgba(26, 73, 72, .10);
	border-radius: 26px;
	background: #fff;
	box-shadow: 0 22px 70px rgba(13, 38, 37, .22);
	transform: translateY(18px) scale(.98);
	opacity: 0;
	transition: transform .22s ease, opacity .22s ease;
}

.hh-whatsapp-modal.is-visible .hh-whatsapp-modal__panel {
	transform: translateY(0) scale(1);
	opacity: 1;
}

.hh-whatsapp-modal__close {
	position: absolute;
	top: 14px;
	right: 14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #f2f4f2;
	color: var(--primary-color);
	font: inherit;
	font-size: 25px;
	font-weight: 400;
	line-height: 1;
	cursor: pointer;
}

.hh-whatsapp-modal__close:hover,
.hh-whatsapp-modal__close:focus {
	background: #e8ece9;
	color: var(--primary-color);
}

.hh-whatsapp-modal__head {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding-right: 36px;
	margin-bottom: 22px;
}

.hh-whatsapp-modal__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 48px;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--primary-color);
	color: #fff;
}

.hh-whatsapp-modal__icon svg {
	display: block;
	width: 25px;
	height: 25px;
}

.hh-whatsapp-modal__head h3 {
	margin: 1px 0 5px;
	color: var(--primary-color);
	font-size: 21px;
	font-weight: 800;
	line-height: 1.2;
}

.hh-whatsapp-modal__head p {
	margin: 0;
	color: #667170;
	font-size: 13px;
	line-height: 1.55;
}

.hh-whatsapp-form,
.hh-whatsapp-form * {
	box-sizing: border-box;
}

.hh-whatsapp-form__choice {
	min-width: 0;
	margin: 0 0 18px;
	padding: 0;
	border: 0;
}

.hh-whatsapp-form__choice legend,
.hh-whatsapp-form__field > span {
	display: block;
	margin-bottom: 7px;
	color: #263238;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.35;
}

.hh-whatsapp-form__field > span em {
	color: #909897;
	font-size: 10px;
	font-style: normal;
	font-weight: 500;
}

.hh-whatsapp-form__choices {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}

.hh-whatsapp-form__choices label {
	position: relative;
	margin: 0;
	cursor: pointer;
}

.hh-whatsapp-form__choices input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.hh-whatsapp-form__choices span {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 43px;
	padding: 8px 12px;
	border: 1px solid #dce2df;
	border-radius: 12px;
	background: #fff;
	color: #5b6362;
	font-size: 11px;
	font-weight: 700;
	text-align: center;
	transition: border-color .15s ease, background-color .15s ease, color .15s ease;
}

.hh-whatsapp-form__choices input:checked + span {
	border-color: var(--primary-color);
	background: rgba(26, 73, 72, .06);
	color: var(--primary-color);
}

.hh-whatsapp-form__choices input:focus-visible + span {
	outline: 2px solid var(--primary-color);
	outline-offset: 2px;
}

.hh-whatsapp-form__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.hh-whatsapp-form__field {
	display: block;
	margin: 0 0 14px;
}

.hh-whatsapp-form__field input,
.hh-whatsapp-form__field textarea {
	width: 100%;
	margin: 0;
	padding: 11px 12px;
	border: 1px solid #d8dfdc;
	border-radius: 11px;
	background: #fff;
	box-shadow: none;
	color: #263238;
	font: inherit;
	font-size: 12px;
	line-height: 1.4;
	outline: none;
	transition: border-color .15s ease, box-shadow .15s ease;
}

.hh-whatsapp-form__field textarea {
	min-height: 72px;
	resize: vertical;
}

.hh-whatsapp-form__field input:focus,
.hh-whatsapp-form__field textarea:focus {
	border-color: var(--primary-color);
	box-shadow: 0 0 0 3px rgba(26, 73, 72, .08);
}

.hh-whatsapp-form__field input::placeholder,
.hh-whatsapp-form__field textarea::placeholder {
	color: #a5adaa;
}

.hh-whatsapp-form__field small {
	display: block;
	margin-top: 5px;
	color: #8a9391;
	font-size: 9px;
	line-height: 1.4;
}

.hh-whatsapp-form__conditional[hidden],
.hh-whatsapp-form__tip[hidden] {
	display: none !important;
}

.hh-whatsapp-form__tip {
	margin: -2px 0 15px;
	padding: 11px 12px;
	border-radius: 11px;
	background: #f4f7f5;
	color: #65706e;
	font-size: 10px;
	line-height: 1.5;
}

.hh-whatsapp-form__tip strong {
	color: var(--primary-color);
}

.hh-whatsapp-form__submit {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	min-height: 50px;
	padding: 11px 18px;
	border: 0;
	border-radius: 13px;
	background: #d8ff63;
	color: var(--primary-color);
	font: inherit;
	font-size: 13px;
	font-weight: 800;
	line-height: 1.2;
	cursor: pointer;
	transition: transform .15s ease, filter .15s ease;
}

.hh-whatsapp-form__submit:hover,
.hh-whatsapp-form__submit:focus {
	background: #d8ff63;
	color: var(--primary-color);
	filter: brightness(.97);
	transform: translateY(-1px);
}

.hh-whatsapp-form__submit span {
	font-size: 17px;
	line-height: 1;
}

.hh-whatsapp-form__privacy {
	margin: 8px 2px 0;
	color: #9aa19f;
	font-size: 8px;
	line-height: 1.45;
	text-align: center;
}

body.hh-whatsapp-modal-open {
	overflow: hidden;
}

@media (max-width: 700px) {
	.hh-whatsapp-modal {
		align-items: flex-end;
		padding: 10px;
	}

	.hh-whatsapp-modal__panel {
		width: 100%;
		max-height: calc(100vh - 20px);
		padding: 21px 17px 18px;
		border-radius: 22px;
	}

	.hh-whatsapp-modal__head {
		gap: 11px;
		margin-bottom: 18px;
	}

	.hh-whatsapp-modal__icon {
		flex-basis: 43px;
		width: 43px;
		height: 43px;
	}

	.hh-whatsapp-modal__head h3 {
		font-size: 18px;
	}

	.hh-whatsapp-modal__head p {
		font-size: 11px;
	}

	.hh-whatsapp-form__grid {
		grid-template-columns: 1fr;
		gap: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.hh-whatsapp-modal__backdrop,
	.hh-whatsapp-modal__panel,
	.hh-whatsapp-form__submit {
		transition: none;
	}
}


/* 404 pagina */
body.error404 .header p#breadcrumbs,
body.error404 .header .mainheader > h1 {
	display: none;
}

.hh-404 {
	float: left;
	width: 100%;
	padding: 24px 20px 64px;
	background: #f8f9fa;
}

.hh-404__section {
	width: 100%;
	max-width: var(--site-container-max);
	margin: 0 auto;
}

.hh-404__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
	align-items: center;
	gap: 70px;
	min-height: 520px;
	padding: 64px 72px;
	background: #fff;
	border: 1px solid rgba(26, 73, 72, .08);
	border-radius: 24px;
}

.hh-404__copy {
	max-width: 700px;
}

.hh-404__eyebrow {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	margin-bottom: 18px;
	padding: 0 14px;
	background: #e5ff00;
	color: var(--primary-color);
	border-radius: 999px;
	font-size: 13px;
	font-weight: 800;
	line-height: 1;
}

.hh-404__title {
	float: none;
	width: auto;
	margin: 0 0 18px;
	color: var(--primary-color);
	text-align: left;
	font-size: clamp(42px, 5vw, 72px);
	line-height: 1.02;
	letter-spacing: -.045em;
	font-weight: 700;
}

.hh-404__text {
	max-width: 620px;
	margin: 0;
	color: #4d5756;
	font-size: 18px;
	line-height: 1.65;
}

.hh-404__actions {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	margin-top: 30px;
}

.hh-404__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 0 22px;
	border-radius: 10px;
	font-size: 15px;
	font-weight: 800;
	line-height: 1;
	text-decoration: none;
	transition: transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}

.hh-404__button:hover {
	transform: translateY(-1px);
}

.hh-404__button--primary,
.hh-404__button--primary:hover {
	background: var(--primary-color);
	color: #fff;
	border: 2px solid var(--primary-color);
}

.hh-404__button--secondary {
	background: #fff;
	color: var(--primary-color);
	border: 2px solid #dfe7e6;
}

.hh-404__button--secondary:hover {
	background: #f5f8f7;
	color: var(--primary-color);
	border-color: #cbd8d7;
}

.hh-404__visual {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 360px;
}

.hh-404__plate {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: min(31vw, 330px);
	aspect-ratio: 1;
	background: #fff;
	border: 24px solid #edf2f1;
	border-radius: 50%;
	box-shadow: inset 0 0 0 2px #dce6e4;
	z-index: 2;
}

.hh-404__number {
	color: var(--primary-color);
	font-size: clamp(72px, 8vw, 112px);
	font-weight: 800;
	line-height: .9;
	letter-spacing: -.07em;
}

.hh-404__plate-label {
	margin-top: 18px;
	padding: 8px 14px;
	background: #e5ff00;
	color: var(--primary-color);
	border-radius: 999px;
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: .04em;
}

.hh-404__fork,
.hh-404__knife {
	position: absolute;
	top: 50%;
	width: 14px;
	height: 250px;
	background: #c8d3d1;
	border-radius: 8px;
	transform: translateY(-50%);
	z-index: 1;
}

.hh-404__fork {
	left: 2%;
}

.hh-404__fork::before {
	content: "";
	position: absolute;
	left: -7px;
	top: -2px;
	width: 28px;
	height: 55px;
	border-top: 28px double #c8d3d1;
	border-radius: 6px;
}

.hh-404__knife {
	right: 2%;
	width: 18px;
	border-radius: 10px 10px 6px 6px;
}

.hh-404__knife::before {
	content: "";
	position: absolute;
	right: 0;
	top: 0;
	width: 32px;
	height: 125px;
	background: #c8d3d1;
	border-radius: 55% 10px 8px 45%;
}

@media (max-width: 980px) {
	.hh-404__inner {
		grid-template-columns: 1fr;
		gap: 36px;
		padding: 52px 42px;
	}

	.hh-404__visual {
		min-height: 330px;
	}

	.hh-404__plate {
		width: min(72vw, 300px);
	}

	.hh-404__fork {
		left: calc(50% - 190px);
	}

	.hh-404__knife {
		right: calc(50% - 190px);
	}
}

@media (max-width: 620px) {
	.hh-404 {
		padding: 10px 10px 36px;
	}

	.hh-404__inner {
		gap: 24px;
		min-height: 0;
		padding: 36px 24px 40px;
		border-radius: 16px;
	}

	.hh-404__title {
		font-size: 44px;
	}

	.hh-404__text {
		font-size: 16px;
	}

	.hh-404__actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	.hh-404__button {
		width: 100%;
	}

	.hh-404__visual {
		min-height: 250px;
	}

	.hh-404__plate {
		width: min(64vw, 230px);
		border-width: 18px;
	}

	.hh-404__number {
		font-size: 76px;
	}

	.hh-404__plate-label {
		margin-top: 12px;
		font-size: 10px;
	}

	.hh-404__fork,
	.hh-404__knife {
		height: 190px;
	}

	.hh-404__fork {
		left: calc(50% - 145px);
	}

	.hh-404__knife {
		right: calc(50% - 145px);
	}

	.hh-404__knife::before {
		height: 100px;
	}
}

/* =========================================================
   HorecaHero account refresh v2.0.32
   - minder ronde hoeken
   - groen/lime i.p.v. roze accenten
   - nuttig dashboard voor bestellers
========================================================= */

body.woocommerce-account .woocommerce-MyAccount-navigation {
	border-radius: 12px;
	padding: 12px;
	border-color: #dfe5e2;
	box-shadow: none;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul {
	gap: 5px;
}

body.woocommerce-account .woocommerce-MyAccount-navigation a {
	min-height: 44px;
	padding: 0 14px;
	border-radius: 8px;
	color: var(--primary-color);
	font-weight: 700;
}

body.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
	background: #f1f7f4;
	color: var(--primary-color);
	transform: none;
}

body.woocommerce-account .woocommerce-MyAccount-navigation .is-active a,
body.woocommerce-account .woocommerce-MyAccount-navigation .is-active a:hover {
	background: var(--primary-color);
	color: #fff;
}

body.woocommerce-account .woocommerce-MyAccount-content {
	border-radius: 12px;
	padding: 26px;
	border-color: #dfe5e2;
	box-shadow: none;
}

body.woocommerce-account .woocommerce-MyAccount-content a {
	color: var(--primary-color);
}

body.woocommerce-account .woocommerce-MyAccount-content a:hover {
	color: #103837;
}

body.woocommerce-account .woocommerce-MyAccount-content mark {
	background: #efffd0;
	color: var(--primary-color);
	border-radius: 6px;
}

body.woocommerce-account .woocommerce table.shop_table,
body.woocommerce-account .woocommerce table.shop_table_responsive {
	border-radius: 10px;
	box-shadow: none;
}

body.woocommerce-account .woocommerce .button,
body.woocommerce-account .woocommerce a.button,
body.woocommerce-account .woocommerce button.button,
body.woocommerce-account .woocommerce input.button,
body.woocommerce-account .woocommerce .woocommerce-button {
	border-radius: 8px !important;
	background: var(--primary-color) !important;
}

body.woocommerce-account .woocommerce .button:hover,
body.woocommerce-account .woocommerce a.button:hover,
body.woocommerce-account .woocommerce button.button:hover,
body.woocommerce-account .woocommerce input.button:hover,
body.woocommerce-account .woocommerce .woocommerce-button:hover {
	background: #103837 !important;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address,
body.woocommerce-account .woocommerce-EditAccountForm,
body.woocommerce-account .woocommerce-address-fields {
	border-radius: 12px !important;
	box-shadow: none !important;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title a {
	border-radius: 8px !important;
	background: #efffd0 !important;
	color: var(--primary-color) !important;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title a:hover {
	background: var(--primary-color) !important;
	color: #fff !important;
}

body.woocommerce-account .woocommerce form .form-row input.input-text,
body.woocommerce-account .woocommerce form .form-row textarea,
body.woocommerce-account .woocommerce form .form-row select {
	border-radius: 9px;
}

body.woocommerce-account .woocommerce form .form-row input.input-text:focus,
body.woocommerce-account .woocommerce form .form-row textarea:focus,
body.woocommerce-account .woocommerce form .form-row select:focus {
	border-color: var(--primary-color);
	box-shadow: 0 0 0 3px rgba(26, 73, 72, .08);
}

body.woocommerce-account .woocommerce-info,
body.woocommerce-account .woocommerce-message,
body.woocommerce-account .woocommerce-error {
	border-radius: 10px !important;
	box-shadow: none;
}

/* Dashboard */
.hh-account-dashboard {
	display: grid;
	gap: 22px;
}

.hh-account-welcome {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	padding-bottom: 22px;
	border-bottom: 1px solid #e2e7e4;
}

.hh-account-eyebrow {
	display: inline-flex;
	align-items: center;
	margin-bottom: 7px;
	color: #5b706e;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: .08em;
	text-transform: uppercase;
}

body.woocommerce-account .woocommerce-MyAccount-content .hh-account-welcome h2 {
	margin: 0 0 5px;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.15;
	color: var(--primary-color);
	letter-spacing: -.035em;
}

.hh-account-welcome p {
	max-width: 620px;
	margin: 0 !important;
	color: #5c6664 !important;
}

body.woocommerce-account .woocommerce-MyAccount-content .hh-account-primary-action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	min-height: 46px;
	padding: 0 18px;
	border-radius: 8px;
	background: #d7ff00;
	color: var(--primary-color);
	font-size: 14px;
	font-weight: 800;
	text-decoration: none;
	transition: .18s ease;
}

body.woocommerce-account .woocommerce-MyAccount-content .hh-account-primary-action:hover {
	background: #c8ed00;
	color: var(--primary-color);
	text-decoration: none;
	transform: translateY(-1px);
}

.hh-account-cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

.hh-account-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	min-height: 235px;
	padding: 20px;
	border: 1px solid #dfe5e2;
	border-radius: 10px;
	background: #fff;
}

.hh-account-card--status {
	background: #f6faf8;
}

.hh-account-card__top {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 20px;
}

.hh-account-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 8px;
	background: #efffd0;
	color: var(--primary-color);
	flex: 0 0 36px;
}

.hh-account-card__icon svg {
	width: 19px;
	height: 19px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.hh-account-card__label {
	color: #60706e;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.hh-account-card__value {
	margin-bottom: 9px;
	color: #172c2b;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -.025em;
}

.hh-account-card__meta {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 11px;
	color: #697674;
	font-size: 12px;
	font-weight: 600;
}

.hh-account-status {
	display: inline-flex;
	align-items: center;
	min-height: 25px;
	padding: 0 9px;
	border-radius: 6px;
	background: #eef1f0;
	color: #4b5a58;
}

.hh-account-status--completed,
.hh-account-status--processing {
	background: #e7f8e8;
	color: #26712f;
}

.hh-account-status--on-hold,
.hh-account-status--pending {
	background: #fff3d6;
	color: #8b6100;
}

.hh-account-status--cancelled,
.hh-account-status--failed,
.hh-account-status--refunded {
	background: #fff0f0;
	color: #9f2929;
}

body.woocommerce-account .woocommerce-MyAccount-content .hh-account-card__description {
	margin: 0 0 18px;
	color: #66716f;
	font-size: 13px;
	line-height: 1.55;
}

body.woocommerce-account .woocommerce-MyAccount-content .hh-account-card__link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: auto;
	color: var(--primary-color);
	font-size: 13px;
	font-weight: 800;
	text-decoration: none;
}

body.woocommerce-account .woocommerce-MyAccount-content .hh-account-card__link:hover {
	text-decoration: none;
	gap: 9px;
}

.hh-account-progress {
	height: 7px;
	margin: 2px 0 13px;
	border-radius: 4px;
	background: #e2e9e5;
	overflow: hidden;
}

.hh-account-progress span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: #42c95a;
}

.hh-account-bottom-grid {
	display: grid;
	grid-template-columns: 1.2fr .8fr;
	gap: 14px;
}

.hh-account-panel {
	padding: 24px;
	border-radius: 10px;
	border: 1px solid #dfe5e2;
}

.hh-account-panel--action {
	background: var(--primary-color);
	border-color: var(--primary-color);
}

.hh-account-panel--support {
	background: #f6faf8;
}

body.woocommerce-account .woocommerce-MyAccount-content .hh-account-panel h3 {
	margin: 0 0 8px;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -.025em;
	color: var(--primary-color);
}

.hh-account-panel--action .hh-account-eyebrow {
	color: #d7ff00;
}

body.woocommerce-account .woocommerce-MyAccount-content .hh-account-panel--action h3 {
	color: #fff;
}

body.woocommerce-account .woocommerce-MyAccount-content .hh-account-panel p {
	margin: 0 0 20px;
	font-size: 14px;
	line-height: 1.55;
	color: #5f6d6b;
}

body.woocommerce-account .woocommerce-MyAccount-content .hh-account-panel--action p {
	color: rgba(255,255,255,.78);
}

.hh-account-panel__actions {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
}

body.woocommerce-account .woocommerce-MyAccount-content .hh-account-panel--action .hh-account-primary-action {
	background: #d7ff00;
	color: var(--primary-color);
}

body.woocommerce-account .woocommerce-MyAccount-content .hh-account-text-link {
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
}

body.woocommerce-account .woocommerce-MyAccount-content .hh-account-text-link:hover {
	color: #d7ff00;
	text-decoration: none;
}

.hh-account-support-links {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

body.woocommerce-account .woocommerce-MyAccount-content .hh-account-support-links a {
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	padding: 0 12px;
	border: 1px solid #cfd9d5;
	border-radius: 8px;
	background: #fff;
	color: var(--primary-color);
	font-size: 12px;
	font-weight: 800;
	text-decoration: none;
}

body.woocommerce-account .woocommerce-MyAccount-content .hh-account-support-links a:hover {
	border-color: var(--primary-color);
	background: #efffd0;
	text-decoration: none;
}

.hh-account-quicklinks {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	padding: 4px 2px 0;
}

.hh-account-quicklinks span {
	color: #7b8785;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .06em;
}

body.woocommerce-account .woocommerce-MyAccount-content .hh-account-quicklinks a {
	color: var(--primary-color);
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
}

body.woocommerce-account .woocommerce-MyAccount-content .hh-account-quicklinks a:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

@media (max-width: 1180px) {
	.hh-account-cards {
		grid-template-columns: 1fr;
	}

	.hh-account-card {
		min-height: 0;
	}
}

@media (max-width: 760px) {
	body.woocommerce-account .woocommerce-MyAccount-content {
		padding: 18px;
		border-radius: 10px;
	}

	body.woocommerce-account .woocommerce-MyAccount-navigation {
		border-radius: 10px;
	}

	body.woocommerce-account .woocommerce-MyAccount-navigation a {
		border-radius: 7px;
	}

	.hh-account-dashboard {
		gap: 16px;
	}

	.hh-account-welcome {
		align-items: stretch;
		flex-direction: column;
		gap: 16px;
		padding-bottom: 18px;
	}

	body.woocommerce-account .woocommerce-MyAccount-content .hh-account-welcome h2 {
		font-size: 25px;
	}

	body.woocommerce-account .woocommerce-MyAccount-content .hh-account-primary-action {
		width: 100%;
	}

	.hh-account-cards,
	.hh-account-bottom-grid {
		grid-template-columns: 1fr;
	}

	.hh-account-card,
	.hh-account-panel {
		padding: 18px;
		border-radius: 9px;
	}

	.hh-account-card__value {
		font-size: 21px;
	}

	.hh-account-panel__actions {
		align-items: stretch;
		flex-direction: column;
		gap: 12px;
	}

	body.woocommerce-account .woocommerce-MyAccount-content .hh-account-text-link {
		text-align: center;
	}

	.hh-account-support-links a {
		flex: 1 1 auto;
		justify-content: center;
	}

	.hh-account-quicklinks {
		gap: 10px 14px;
	}
}


/* v2.0.38 - Login: onthouden netjes op eigen regel */
main .woocommerce #customer_login form.login .form-row:has(.woocommerce-form-login__rememberme) {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 12px !important;
}

main .woocommerce #customer_login form.login .form-row:has(.woocommerce-form-login__rememberme) .woocommerce-form-login__rememberme {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	order: 1 !important;
	width: 100% !important;
	margin: 0 !important;
}

main .woocommerce #customer_login form.login .form-row:has(.woocommerce-form-login__rememberme) .woocommerce-form-login__rememberme input[type="checkbox"] {
	flex: 0 0 18px !important;
	width: 18px !important;
	height: 18px !important;
	margin: 0 !important;
}

main .woocommerce #customer_login form.login .form-row:has(.woocommerce-form-login__rememberme) .woocommerce-form-login__submit {
	order: 2 !important;
	float: none !important;
	margin: 0 !important;
}


/* =========================================================
   HorecaHero v2.0.46 - hero achtergrond doorlopend achter header
========================================================= */
body.cursusaanbod .header,
body.cursusaanbod .header .topheader,
body.cursusaanbod .header .header-container,
body.cursusaanbod .header .mainheader {
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
}

/* De hero ligt onder de absolute header. Door de balken transparant te maken
   loopt exact dezelfde gradient/glow zichtbaar door tot achter topbar en navigatie. */
body.cursusaanbod .topheader {
	border-bottom: 1px solid rgba(255, 255, 255, .05);
}


/* HorecaHero v2.0.49 - subtiele lichtglans op Direct inschrijven CTA's */
nav#desktop ul li.cta-1 a,
nav#menu ul li.cta-1 a,
a.mobile-cta-button {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

nav#desktop ul li.cta-1 a::after,
nav#menu ul li.cta-1 a::after,
a.mobile-cta-button::after {
	content: "";
	position: absolute;
	top: -45%;
	left: -60%;
	width: 34%;
	height: 190%;
	background: linear-gradient(
		90deg,
		rgba(255,255,255,0) 0%,
		rgba(255,255,255,.10) 35%,
		rgba(255,255,255,.38) 50%,
		rgba(255,255,255,.10) 65%,
		rgba(255,255,255,0) 100%
	);
	transform: skewX(-18deg) translateX(0);
	opacity: 0;
	pointer-events: none;
	z-index: 1;
	animation: hh-cta-shine 4.5s ease-in-out infinite;
}

@keyframes hh-cta-shine {
	0%, 68% {
		left: -60%;
		opacity: 0;
	}
	72% {
		opacity: .9;
	}
	84% {
		left: 132%;
		opacity: .75;
	}
	88%, 100% {
		left: 132%;
		opacity: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	nav#desktop ul li.cta-1 a::after,
	nav#menu ul li.cta-1 a::after,
	a.mobile-cta-button::after {
		animation: none;
	}
}


/* HorecaHero v2.0.50 - compactere inschrijfvelden in de actuele huisstijl */
.hh-inschrijven .hh-checkout-box .form-row,
.hh-inschrijven .hh-payment-box .form-row {
	margin: 0 0 12px !important;
	padding: 0 !important;
}

.hh-inschrijven .hh-checkout-box label,
.hh-inschrijven .hh-payment-box label {
	display: block;
	margin: 0 0 6px !important;
	font-size: 13px;
	line-height: 1.35;
	font-weight: 700;
	color: var(--primary-color);
}

.hh-inschrijven .hh-checkout-box input.input-text,
.hh-inschrijven .hh-checkout-box input[type="text"],
.hh-inschrijven .hh-checkout-box input[type="email"],
.hh-inschrijven .hh-checkout-box input[type="tel"],
.hh-inschrijven .hh-checkout-box input[type="password"],
.hh-inschrijven .hh-checkout-box select,
.hh-inschrijven .hh-payment-box input.input-text,
.hh-inschrijven .hh-payment-box input[type="text"],
.hh-inschrijven .hh-payment-box input[type="email"],
.hh-inschrijven .hh-payment-box input[type="tel"],
.hh-inschrijven .hh-payment-box select,
.hh-inschrijven .hh-participant-card input.input-text,
.hh-inschrijven .hh-participant-card input[type="text"],
.hh-inschrijven .hh-participant-card input[type="email"],
.hh-inschrijven .hh-participant-card input[type="tel"],
.hh-inschrijven .hh-participant-card select {
	min-height: 44px !important;
	height: 44px;
	border: 1px solid #dfe5e2 !important;
	border-radius: 9px !important;
	padding: 0 13px !important;
	background: #fff !important;
	color: #173f3e !important;
	font-size: 14px !important;
	line-height: 1.35;
	box-shadow: none !important;
	outline: none;
	transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.hh-inschrijven .hh-checkout-box textarea,
.hh-inschrijven .hh-payment-box textarea,
.hh-inschrijven .hh-participant-card textarea {
	min-height: 92px !important;
	height: auto;
	border: 1px solid #dfe5e2 !important;
	border-radius: 9px !important;
	padding: 11px 13px !important;
	background: #fff !important;
	color: #173f3e !important;
	font-size: 14px !important;
	line-height: 1.5;
	box-shadow: none !important;
	outline: none;
	transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.hh-inschrijven .hh-checkout-box input:focus,
.hh-inschrijven .hh-checkout-box select:focus,
.hh-inschrijven .hh-checkout-box textarea:focus,
.hh-inschrijven .hh-payment-box input:focus,
.hh-inschrijven .hh-payment-box select:focus,
.hh-inschrijven .hh-payment-box textarea:focus,
.hh-inschrijven .hh-participant-card input:focus,
.hh-inschrijven .hh-participant-card select:focus,
.hh-inschrijven .hh-participant-card textarea:focus {
	border-color: #35e98a !important;
	box-shadow: 0 0 0 3px rgba(53, 233, 138, .10) !important;
}

/* WooCommerce Select2, o.a. landkeuze, dezelfde compacte vorm geven. */
.hh-inschrijven .select2-container .select2-selection--single,
.hh-inschrijven .select2-container--default .select2-selection--single {
	height: 44px !important;
	min-height: 44px !important;
	border: 1px solid #dfe5e2 !important;
	border-radius: 9px !important;
	background: #fff !important;
	box-shadow: none !important;
}

.hh-inschrijven .select2-container .select2-selection--single .select2-selection__rendered {
	height: 42px !important;
	line-height: 42px !important;
	padding: 0 36px 0 13px !important;
	border-radius: 9px !important;
	color: #173f3e !important;
	font-size: 14px !important;
}

.hh-inschrijven .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 42px !important;
	right: 8px;
}

/* De kaarten zelf iets strakker zodat het formulier beter aansluit op account/dashboard. */
.hh-inschrijven .hh-billing-card,
.hh-inschrijven .hh-participant-card,
.hh-inschrijven .hh-checkout-box,
.hh-inschrijven .hh-payment-box {
	border-radius: 10px !important;
}

@media (max-width: 700px) {
	.hh-inschrijven .hh-checkout-box,
	.hh-inschrijven .hh-payment-box,
	.hh-inschrijven .hh-billing-card,
	.hh-inschrijven .hh-participant-card {
		border-radius: 9px !important;
	}
}


/* ---------------------------------------------------------
   Inschrijven uitleg-tour
--------------------------------------------------------- */
.hh-tour-help-row {
	display: flex;
	justify-content: flex-end;
	margin: 0 0 14px;
}

.hh-tour-help-button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	border: 1px solid rgba(1, 69, 78, 0.18);
	border-radius: 8px;
	background: #fff;
	color: #01454E;
	font: inherit;
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
	padding: 9px 12px;
	cursor: pointer;
	transition: border-color .2s ease, background-color .2s ease, transform .2s ease;
}

.hh-tour-help-button:hover,
.hh-tour-help-button:focus-visible {
	background: #f4fbf7;
	border-color: rgba(1, 69, 78, 0.34);
	color: #01454E;
	transform: translateY(-1px);
}

.hh-tour-help-button__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 19px;
	height: 19px;
	border-radius: 50%;
	background: #35e98a;
	color: #01454E;
	font-size: 12px;
	font-weight: 700;
}

.hh-signup-tour {
	display: none;
}

.hh-signup-tour.is-open {
	display: block;
}

body.hh-tour-open {
	overflow-x: hidden;
}

.hh-signup-tour__blocker {
	position: fixed;
	inset: 0;
	z-index: 100090;
	background: transparent;
	cursor: default;
}

.hh-signup-tour__focus {
	position: fixed;
	z-index: 100091;
	border: 2px solid #35e98a;
	border-radius: 12px;
	box-shadow: 0 0 0 9999px rgba(0, 38, 42, 0.56), 0 0 0 5px rgba(53, 233, 138, 0.14);
	pointer-events: none;
	transition: left .2s ease, top .2s ease, width .2s ease, height .2s ease;
}

.hh-signup-tour__card {
	position: fixed;
	z-index: 100092;
	box-sizing: border-box;
	max-width: calc(100vw - 36px);
	background: #fff;
	border: 1px solid rgba(1, 69, 78, 0.12);
	border-radius: 12px;
	box-shadow: 0 18px 50px rgba(0, 34, 38, 0.22);
	padding: 20px;
	color: #263238;
}

.hh-signup-tour__progress {
	margin-bottom: 7px;
	color: #08755d;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .07em;
	text-transform: uppercase;
}

.hh-signup-tour__card h3 {
	margin: 0 0 8px;
	color: #01454E;
	font-size: 20px;
	line-height: 1.25;
}

.hh-signup-tour__card p {
	margin: 0;
	font-size: 14px;
	line-height: 1.6;
	color: #526164;
}

.hh-signup-tour__actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 18px;
}

.hh-signup-tour__nav {
	display: flex;
	align-items: center;
	gap: 8px;
}

.hh-signup-tour__skip,
.hh-signup-tour__back,
.hh-signup-tour__next {
	appearance: none;
	font: inherit;
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
	border-radius: 8px;
	padding: 10px 13px;
	cursor: pointer;
}

.hh-signup-tour__skip {
	border: 0;
	background: transparent;
	color: #6a7779;
	padding-left: 0;
	padding-right: 0;
}

.hh-signup-tour__back {
	border: 1px solid rgba(1, 69, 78, 0.18);
	background: #fff;
	color: #01454E;
}

.hh-signup-tour__back:disabled {
	opacity: .35;
	cursor: default;
}

.hh-signup-tour__next {
	border: 1px solid #35e98a;
	background: #35e98a;
	color: #01454E;
}

.hh-signup-tour__next:hover,
.hh-signup-tour__next:focus-visible {
	filter: brightness(.97);
	color: #01454E;
}

@media (max-width: 600px) {
	.hh-tour-help-row {
		justify-content: flex-start;
		margin-bottom: 12px;
	}

	.hh-tour-help-button {
		font-size: 12px;
		padding: 8px 10px;
	}

	.hh-signup-tour__focus {
		border-radius: 10px;
	}

	.hh-signup-tour__card {
		max-width: calc(100vw - 24px);
		border-radius: 10px;
		padding: 17px;
	}

	.hh-signup-tour__card h3 {
		font-size: 18px;
	}

	.hh-signup-tour__card p {
		font-size: 13px;
		line-height: 1.55;
	}

	.hh-signup-tour__actions {
		margin-top: 15px;
	}

	.hh-signup-tour__skip,
	.hh-signup-tour__back,
	.hh-signup-tour__next {
		font-size: 12px;
		padding: 9px 11px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.hh-signup-tour__focus,
	.hh-tour-help-button {
		transition: none;
	}
}




/* HorecaHero v2.0.59 - Direct inschrijven CTA's in header/menu en homepage hero geel */
nav#desktop ul li.cta-1 a,
nav#desktop ul li.cta-1 a:hover,
nav#menu ul li.cta-1 a,
nav#menu ul li.cta-1 a:hover,
body.cursusaanbod a.mobile-cta-button,
body.cursusaanbod a.mobile-cta-button:hover {
	background: #e5ff00 !important;
	color: #01454E !important;
}

/* ==========================================
   HorecaHero blog archive - v2.0.59
   ========================================== */
body.blog .wrapper {
	background: #f7f3ea;
}

.hh-blog {
	float: left;
	width: 100%;
	padding: 55px 20px 80px;
	background: #f7f3ea;
}

.hh-blog__container {
	width: 100%;
	max-width: var(--site-container-max);
	margin: 0 auto;
}

.hh-blog__intro {
	max-width: 720px;
	margin: 0 0 34px;
}

.hh-blog__eyebrow {
	display: inline-block;
	margin-bottom: 8px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--primary-color);
}

.hh-blog__intro h2 {
	margin: 0 0 10px;
	font-size: clamp(30px, 3vw, 44px);
	line-height: 1.12;
	color: #102f34;
}

.hh-blog__intro p {
	max-width: 660px;
	margin: 0;
	font-size: 17px;
	line-height: 1.65;
	color: #5d6768;
}

.hh-blog-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.hh-blog-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	background: #fff;
	border: 1px solid #dedfdc;
	border-radius: 12px;
	box-shadow: 0 3px 0 rgba(1, 69, 78, .05);
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.hh-blog-card:hover {
	transform: translateY(-3px);
	border-color: rgba(1, 69, 78, .22);
	box-shadow: 0 12px 26px rgba(1, 69, 78, .08);
}

.hh-blog-card__image {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--primary-color);
}

.hh-blog-card__image > img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .35s ease;
}

.hh-blog-card:hover .hh-blog-card__image > img {
	transform: scale(1.025);
}

.hh-blog-card__placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 40px;
	background: radial-gradient(circle at 50% 30%, #075861 0%, #01454e 62%, #003940 100%);
}

.hh-blog-card__placeholder img {
	width: auto;
	max-width: 180px;
	max-height: 70px;
	opacity: .88;
}

.hh-blog-card__content {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 22px 22px 20px;
}

.hh-blog-card__meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 12px;
	margin-bottom: 12px;
	font-size: 12px;
	color: #7a8282;
}

.hh-blog-card__category {
	display: inline-flex;
	align-items: center;
	min-height: 27px;
	padding: 4px 10px;
	border-radius: 999px;
	font-weight: 700;
	color: #01454e;
	background: rgba(53, 233, 138, .17);
}

.hh-blog-card h3 {
	margin: 0 0 10px;
	font-size: 21px;
	line-height: 1.28;
}

.hh-blog-card h3 a {
	color: #102f34;
	text-decoration: none;
}

.hh-blog-card h3 a:hover {
	color: var(--primary-color);
}

.hh-blog-card__content > p {
	margin: 0 0 20px;
	font-size: 14px;
	line-height: 1.65;
	color: #667071;
}

.hh-blog-card__link {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin-top: auto;
	font-size: 14px;
	font-weight: 700;
	color: var(--primary-color);
	text-decoration: none;
}

.hh-blog-card__link span {
	transition: transform .2s ease;
}

.hh-blog-card__link:hover span {
	transform: translateX(3px);
}

.hh-blog-pagination {
	margin: 45px 0 0;
}

.hh-blog-pagination ul {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.hh-blog-pagination li {
	margin: 0;
}

.hh-blog-pagination a,
.hh-blog-pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	padding: 0 14px;
	border: 1px solid #d7dcda;
	border-radius: 9px;
	font-size: 13px;
	font-weight: 700;
	color: #01454e;
	background: #fff;
	text-decoration: none;
}

.hh-blog-pagination a:hover,
.hh-blog-pagination .current {
	border-color: var(--primary-color);
	color: #35e98a;
	background: var(--primary-color);
}

.hh-blog-empty {
	padding: 42px;
	background: #fff;
	border: 1px solid #dedfdc;
	border-radius: 12px;
}

.hh-blog-empty h2 {
	margin-top: 0;
	color: #102f34;
}

@media only screen and (max-width: 980px) {
	.hh-blog-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media only screen and (max-width: 640px) {
	.hh-blog {
		padding: 35px 16px 55px;
	}

	.hh-blog__intro {
		margin-bottom: 24px;
	}

	.hh-blog__intro p {
		font-size: 15px;
	}

	.hh-blog-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.hh-blog-card__content {
		padding: 18px;
	}

	.hh-blog-card h3 {
		font-size: 19px;
	}
}

/* =========================================================
   Single nieuws/blogbericht - v2.0.71
   ========================================================= */
body.single-post {
	background: #fbf7f1 !important;
}

body.single-post #panel {
	position: relative;
	background: #fbf7f1 !important;
	overflow: hidden;
}

/* De header ligt op single posts IN de artikelhero. Zo is er maar één
 * achtergrondlaag en loopt de glow zonder naad door achter topbar + navigatie. */
body.single-post .header {
	/* Exact dezelfde positionering als de homepage-header. */
	position: absolute !important;
	left: 10px;
	right: 10px;
	top: 10px;
	float: none !important;
	width: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	z-index: 20;
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	border-radius: 15px 15px 0 0 !important;
	overflow: visible !important;
}

body.single-post .header .topheader,
body.single-post .header .header-container,
body.single-post .header .mainheader {
	position: relative !important;
	z-index: 21 !important;
	background: transparent !important;
	background-image: none !important;
}

body.single-post .header .topheader {
	/* Zelfde transparante topheader als op de homepage. */
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	border-radius: 15px 15px 0 0 !important;
	border-bottom: 1px solid rgba(255, 255, 255, .05) !important;
	box-shadow: none !important;
}

body.single-post .hh-header-bottom-curve {
	display: none !important;
}

body.single-post .header .mainheader > h1 {
	display: none;
}

body.single-post .header p#breadcrumbs {
	display: none;
}

body.single-post .wrapper {
	position: relative;
	z-index: 1;
	margin-top: 0 !important;
	background: #fbf7f1;
}

/* De footer gebruikt óók de class .wrapper. Houd die donker op single posts. */
body.single-post .footer-container {
	background: var(--primary-color) !important;
}

body.single-post .container,
body.single-post main {
	max-width: none;
	width: 100%;
	margin: 0;
	padding: 0;
	border-radius: 0;
	background: transparent;
}

.hh-article {
	width: 100%;
	color: #183239;
}

.hh-article-hero {
	position: relative;
	margin: 0;
	padding: 186px 24px 58px;
	border-radius: 15px;
	/* Exact dezelfde glow + achtergrond als de homepage hero. */
	background-color: #002f36 !important;
	background-image:
		radial-gradient(ellipse at 50% 20%, rgba(0, 102, 112, .52) 0%, rgba(0, 76, 86, .34) 34%, rgba(0, 47, 54, 0) 68%),
		linear-gradient(180deg, #00363e 0%, #002f36 100%) !important;
	color: #fff;
	overflow: hidden;
	isolation: isolate;
}

/* Geen aparte topstrook: net als op de homepage is de header transparant
 * en loopt de hero-gradient zelf door achter accountlinks en navigatie. */
.hh-article-hero::before {
	display: none !important;
	content: none !important;
}

.hh-article-hero__inner {
	position: relative;
	z-index: 2;
	width: min(920px, 100%);
	margin: 0 auto;
}

.hh-article-back {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 34px;
	color: rgba(255,255,255,.72);
	font-size: 14px;
	font-weight: 500;
}

.hh-article-back:hover {
	color: #35e98a;
}

.hh-article-hero__meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 18px;
	color: rgba(255,255,255,.68);
	font-size: 13px;
}

.hh-article-category {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	padding: 5px 11px;
	border-radius: 7px;
	background: #35e98a;
	color: #01454E;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
}

.hh-article-category:hover {
	color: #01454E;
	background: #e5ff00;
}

.hh-article-meta-separator {
	opacity: .45;
}

.hh-article-hero h1 {
	float: none;
	width: auto;
	max-width: 880px;
	margin: 0;
	color: #fff;
	font-size: clamp(32px, 3vw, 48px);
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: -.025em;
	text-align: left;
}

.hh-article-lead {
	max-width: 760px;
	margin: 24px 0 0;
	color: rgba(255,255,255,.8);
	font-size: 18px;
	line-height: 1.7;
}

.hh-article-author {
	clear: both;
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 30px;
}

.hh-article-author img.hh-article-author__avatar,
.hh-article-author img.avatar {
	float: none;
	width: 44px;
	height: 44px;
	max-width: 44px;
	margin: 0;
	border: 2px solid rgba(255,255,255,.2);
	border-radius: 50%;
	object-fit: cover;
}

.hh-article-author div {
	display: flex;
	flex-direction: column;
	line-height: 1.25;
}

.hh-article-author span {
	color: rgba(255,255,255,.55);
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: .06em;
}

.hh-article-author strong {
	margin-top: 3px;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
}

.hh-article-featured {
	width: min(1180px, calc(100% - 48px));
	margin: -1px auto 0;
	padding-top: 44px;
}

.hh-article-featured img {
	display: block;
	width: 100%;
	max-height: 660px;
	aspect-ratio: 16 / 8.5;
	object-fit: cover;
	border-radius: 14px;
}

.hh-article-layout {
	display: grid;
	grid-template-columns: 80px minmax(0, 780px);
	gap: 38px;
	justify-content: center;
	width: min(1000px, calc(100% - 48px));
	margin: 0 auto;
	padding: 64px 0 90px;
}

.hh-article-share {
	position: sticky;
	top: 110px;
	align-self: start;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}

.hh-article-share > span {
	margin-bottom: 2px;
	color: #75858a;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .08em;
}

.hh-article-share a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border: 1px solid #dce4e2;
	border-radius: 9px;
	background: #fff;
	color: #01454E;
	transition: transform .2s ease, border-color .2s ease, background .2s ease;
}

.hh-article-share a:hover {
	transform: translateY(-2px);
	border-color: #35e98a;
	background: #effdf5;
}

.hh-article-share svg {
	width: 18px;
	height: 18px;
	fill: currentColor;
}

.hh-article-body {
	min-width: 0;
}

.hh-article-content {
	font-size: 17px;
	line-height: 1.82;
	color: #33474c;
}

.hh-article-content > *:first-child {
	margin-top: 0;
}

.hh-article-content p {
	margin: 0 0 24px;
}

.hh-article-content h2,
.hh-article-content h3,
.hh-article-content h4 {
	color: #01454E;
	font-weight: 700;
	line-height: 1.22;
	letter-spacing: -.02em;
}

.hh-article-content h2 {
	margin: 54px 0 18px;
	font-size: clamp(27px, 3vw, 36px);
}

.hh-article-content h3 {
	margin: 40px 0 15px;
	font-size: 24px;
}

.hh-article-content h4 {
	margin: 34px 0 12px;
	font-size: 19px;
}

.hh-article-content a {
	color: #007b67;
	text-decoration: underline;
	text-decoration-color: rgba(0,123,103,.3);
	text-underline-offset: 3px;
}

.hh-article-content a:hover {
	color: #01454E;
	text-decoration-color: #35e98a;
}

.hh-article-content ul,
.hh-article-content ol {
	margin: 0 0 28px;
	padding-left: 25px;
}

.hh-article-content li {
	margin-bottom: 8px;
}

.hh-article-content blockquote {
	margin: 36px 0;
	padding: 24px 28px;
	border-left: 4px solid #35e98a;
	border-radius: 0 10px 10px 0;
	background: #eef8f4;
	color: #01454E;
	font-size: 19px;
	font-weight: 500;
}

.hh-article-content img {
	max-width: 100%;
	height: auto;
	border-radius: 12px;
}

.hh-article-content .wp-caption {
	max-width: 100%;
}

.hh-article-content iframe {
	max-width: 100%;
}

.hh-article-tags {
	margin-top: 52px;
	padding-top: 28px;
	border-top: 1px solid #dde6e3;
}

.hh-article-tags > span {
	display: block;
	margin-bottom: 12px;
	color: #6d7d81;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .07em;
}

.hh-article-tags > div {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.hh-article-tags a {
	display: inline-flex;
	padding: 7px 11px;
	border-radius: 7px;
	background: #e8eeec;
	color: #01454E;
	font-size: 12px;
	font-weight: 600;
}

.hh-article-tags a:hover {
	background: #35e98a;
	color: #01454E;
}

.hh-article-more {
	padding: 70px 24px 90px;
	background: #fff;
}

.hh-article-more__heading,
.hh-article-more .hh-blog-grid {
	width: min(1180px, 100%);
	margin-left: auto;
	margin-right: auto;
}

.hh-article-more__heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 30px;
	margin-bottom: 30px;
}

.hh-article-more__heading h2 {
	margin: 7px 0 0;
	color: #01454E;
	font-size: clamp(28px, 3.2vw, 42px);
	line-height: 1.1;
}

.hh-article-more__heading > a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding-bottom: 3px;
	color: #01454E;
	font-size: 14px;
	font-weight: 600;
}

.hh-article-more__heading > a:hover {
	color: #008a70;
}

@media (max-width: 900px) {
	.hh-article-layout {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.hh-article-share {
		position: static;
		flex-direction: row;
		justify-content: flex-start;
	}

	.hh-article-share > span {
		margin: 0 4px 0 0;
	}
}

@media (max-width: 767px) {
	body.single-post .header {
		left: 10px;
		right: 10px;
		top: 10px;
		width: auto !important;
		border-radius: 12px 12px 0 0 !important;
	}

	body.single-post .header .topheader {
		background: transparent !important;
		border-radius: 12px 12px 0 0 !important;
		border-bottom: 1px solid rgba(255, 255, 255, .05) !important;
	}

	.hh-article-hero {
		margin: 0;
		padding: 168px 20px 40px;
		border-radius: 12px;
		background-color: #002f36 !important;
		background-image:
			radial-gradient(ellipse at 50% 18%, rgba(0, 102, 112, .50) 0%, rgba(0, 76, 86, .32) 36%, rgba(0, 47, 54, 0) 70%),
			linear-gradient(180deg, #00363e 0%, #002f36 100%) !important;
	}

	.hh-article-hero::before {
		display: none !important;
		content: none !important;
	}

	.hh-article-back {
		margin-bottom: 26px;
	}

	.hh-article-hero__meta {
		gap: 8px;
		font-size: 12px;
	}

	.hh-article-hero h1 {
		font-size: clamp(28px, 8vw, 38px);
		line-height: 1.16;
	}

	.hh-article-lead {
		font-size: 16px;
	}

	.hh-article-featured {
		width: calc(100% - 28px);
		padding-top: 24px;
	}

	.hh-article-featured img {
		aspect-ratio: 4 / 3;
		border-radius: 11px;
	}

	.hh-article-layout {
		width: calc(100% - 40px);
		padding: 42px 0 64px;
	}

	.hh-article-content {
		font-size: 16px;
		line-height: 1.75;
	}

	.hh-article-content h2 {
		margin-top: 42px;
	}

	.hh-article-more {
		padding: 54px 20px 70px;
	}

	.hh-article-more__heading {
		align-items: flex-start;
		flex-direction: column;
		gap: 14px;
	}
}

/* =========================================================
   Header unify + article featured overlap - v2.0.72
   ========================================================= */

/* Geen oude curve meer op welke pagina dan ook. */
.hh-header-bottom-curve,
.hh-header-bottom-curve::before {
	display: none !important;
	content: none !important;
}

/* Standaard pagina's krijgen dezelfde donkere achtergrond + glow als de homepage.
 * Homepage, single nieuws en single product hebben hun header bovenop een eigen hero
 * en worden hieronder apart gelijkgetrokken. */
body:not(.cursusaanbod):not(.single-post):not(.single-product) .header {
	position: relative !important;
	float: left !important;
	width: calc(100% - 20px) !important;
	margin: 10px 10px 18px !important;
	background-color: #002f36 !important;
	background-image:
		radial-gradient(ellipse at 50% 20%, rgba(0, 102, 112, .52) 0%, rgba(0, 76, 86, .34) 34%, rgba(0, 47, 54, 0) 68%),
		linear-gradient(180deg, #00363e 0%, #002f36 100%) !important;
	border-radius: 15px !important;
	overflow: hidden !important;
}

body:not(.cursusaanbod):not(.single-post):not(.single-product) .header .topheader {
	background: rgba(0, 0, 0, .12) !important;
	border-radius: 15px 15px 0 0 !important;
}

/* De 50px ruimte was alleen nodig voor de oude curve. */
body:not(.cursusaanbod):not(.single-post):not(.single-product) .wrapper {
	margin-top: 0 !important;
}

/* Homepage: de hero is de zichtbare headerachtergrond. Alle vier de hoeken rond. */
body.cursusaanbod .header {
	border-radius: 15px !important;
}

body.cursusaanbod .topheader {
	border-radius: 15px 15px 0 0 !important;
}

body.cursusaanbod .hh-offer-hero {
	border-radius: 15px !important;
}

/* Single nieuws: featured image iets over de groene hero heen laten vallen. */
body.single-post .hh-article-hero {
	border-radius: 15px !important;
}

body.single-post .hh-article-featured {
	position: relative;
	z-index: 5;
	margin-top: -56px !important;
	padding-top: 0 !important;
}

body.single-post .hh-article-featured img {
	box-shadow: 0 18px 44px rgba(0, 47, 54, .12);
}

/* Productpagina: dezelfde homepage glow onder de transparante header. */
body.single-product .hh-course-hero {
	background-color: #002f36 !important;
	background-image:
		radial-gradient(ellipse at 50% 20%, rgba(0, 102, 112, .52) 0%, rgba(0, 76, 86, .34) 34%, rgba(0, 47, 54, 0) 68%),
		linear-gradient(180deg, #00363e 0%, #002f36 100%) !important;
	border-radius: 15px !important;
}

@media (max-width: 820px) {
	body:not(.cursusaanbod):not(.single-post):not(.single-product) .header {
		width: calc(100% - 20px) !important;
		margin: 10px 10px 16px !important;
		border-radius: 12px !important;
	}

	body:not(.cursusaanbod):not(.single-post):not(.single-product) .header .topheader {
		border-radius: 12px 12px 0 0 !important;
	}

	body.cursusaanbod .header,
	body.cursusaanbod .hh-offer-hero,
	body.single-post .hh-article-hero,
	body.single-product .hh-course-hero {
		border-radius: 12px !important;
	}

	body.single-post .hh-article-featured {
		width: min(100% - 32px, 1180px);
		margin-top: -34px !important;
	}
}


/* =========================================================
   Consistente page-header geometrie - v2.0.73
   ========================================================= */

/*
 * De homepage-hero gebruikt de standaard body-inset als buitenmarge.
 * Op gewone pagina's stond daar in v2.0.72 nog eens 10px header-margin
 * bovenop. Daardoor sprong de groene header naar binnen ten opzichte van
 * home, single posts en productpagina's. Gewone pagina's gebruiken nu
 * exact dezelfde buitenlijn als de homepage.
 */
body:not(.cursusaanbod):not(.single-post):not(.single-product) .header {
	float: none !important;
	width: 100% !important;
	margin: 0 0 18px !important;
	padding-bottom: 30px !important;
}

/* Houd breadcrumb/titel ruim binnen de afgeronde onderhoeken. */
body:not(.cursusaanbod):not(.single-post):not(.single-product) .header .mainheader > h1 {
	margin-bottom: 0 !important;
}

@media (max-width: 820px) {
	body:not(.cursusaanbod):not(.single-post):not(.single-product) .header {
		width: 100% !important;
		margin: 0 0 16px !important;
		padding-bottom: 24px !important;
	}
}

/* =========================================================
   Single nieuws: extra ademruimte boven featured image - v2.0.74
   ========================================================= */
/*
 * De afbeelding blijft over de hero heen vallen, maar krijgt nu bewust
 * ruimte onder de auteur. Zo raakt de foto de auteurregel niet meer.
 */
body.single-post .hh-article-hero {
	padding-bottom: 90px !important;
}

body.single-post .hh-article-featured {
	margin-top: -56px !important;
}

@media (max-width: 767px) {
	body.single-post .hh-article-hero {
		padding-bottom: 64px !important;
	}

	body.single-post .hh-article-featured {
		margin-top: -34px !important;
	}
}



/* =========================================================
   Inline animated HorecaHero header logo - v2.0.81
   Clean mask reveal: no strokes, no ghost/background effect
   ========================================================= */
.hh-animated-logo {
	display: block;
	width: 128px;
	margin-top: 10px;
	line-height: 0;
}

.hh-animated-logo .hh-logo-svg {
	display: block;
	width: 100%;
	height: auto;
	overflow: visible;
}

/* Keep the supplied vector artwork exactly as supplied. */
.hh-animated-logo .hh-logo-shape {
	fill: #f6f7f9;
	stroke: none !important;
	filter: none !important;
}

/*
 * The source logo consists of filled compound outline shapes, not centre-line
 * strokes. A stroke-dash animation therefore creates double contours/ghosting.
 * Reveal the real artwork with SVG masks instead: HORECA first, HERO second.
 */
.hh-animated-logo .hh-logo-mask-top-rect,
.hh-animated-logo .hh-logo-mask-bottom-rect {
	transform-box: fill-box;
	transform-origin: left center;
}

.hh-animated-logo .hh-logo-mask-top-rect {
	animation: hh-logo-clean-reveal .62s cubic-bezier(.72,0,.22,1) both;
}

.hh-animated-logo .hh-logo-mask-bottom-rect {
	animation: hh-logo-clean-reveal .62s cubic-bezier(.72,0,.22,1) .46s both;
}

@keyframes hh-logo-clean-reveal {
	0% { transform: scaleX(0); }
	100% { transform: scaleX(1); }
}

@media (max-width: 767px) {
	.hh-animated-logo {
		width: 110px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.hh-animated-logo .hh-logo-mask-top-rect,
	.hh-animated-logo .hh-logo-mask-bottom-rect {
		animation: none !important;
		transform: none !important;
	}
}



/* =========================================================
   HorecaHero v2.0.80 - WooCommerce bestelling ontvangen
   ========================================================= */
body.woocommerce-order-received .inner-content {
	max-width: 1180px;
	margin-left: auto;
	margin-right: auto;
}

body.woocommerce-order-received .woocommerce-order {
	position: relative;
	background: #fff;
	border: 1px solid #e5e9e8;
	border-radius: 22px;
	padding: 34px 36px 38px;
	box-shadow: 0 14px 44px rgba(1, 69, 78, .07);
	margin: 0 auto 48px;
	overflow: hidden;
}

body.woocommerce-order-received p.woocommerce-thankyou-order-received,
body.woocommerce-order-received .woocommerce-notice--success {
	position: relative;
	margin: 0 0 24px !important;
	padding: 20px 22px 20px 68px !important;
	min-height: 60px;
	background: #effcf5;
	border: 1px solid rgba(53, 233, 138, .42);
	border-radius: 15px;
	color: #0d3d35;
	font-size: 21px;
	font-weight: 700;
	line-height: 1.35;
}

body.woocommerce-order-received p.woocommerce-thankyou-order-received::before,
body.woocommerce-order-received .woocommerce-notice--success::before {
	content: "✓";
	position: absolute;
	left: 20px;
	top: 50%;
	width: 32px;
	height: 32px;
	transform: translateY(-50%);
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #35e98a;
	color: #01454E;
	font-size: 19px;
	font-weight: 800;
	line-height: 1;
}

body.woocommerce-order-received ul.woocommerce-order-overview,
body.woocommerce-order-received ul.order_details {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	width: 100%;
	margin: 0 0 36px !important;
	padding: 0 !important;
	list-style: none !important;
}

body.woocommerce-order-received ul.woocommerce-order-overview li,
body.woocommerce-order-received ul.order_details li {
	float: none !important;
	width: auto !important;
	min-width: 0;
	margin: 0 !important;
	padding: 14px 16px !important;
	border: 1px solid #e7eceb !important;
	border-radius: 12px;
	background: #f7faf9;
	color: #687774;
	font-size: 10px !important;
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: .035em;
	text-transform: uppercase;
}

body.woocommerce-order-received ul.woocommerce-order-overview li strong,
body.woocommerce-order-received ul.order_details li strong {
	display: block;
	margin-top: 5px;
	color: #12383c;
	font-size: 15px !important;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: 0;
	text-transform: none;
	word-break: break-word;
}

body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details {
	margin: 0 0 34px !important;
}

body.woocommerce-order-received .woocommerce-order-details__title,
body.woocommerce-order-received .woocommerce-column__title,
body.woocommerce-order-received .woocommerce-customer-details h2,
body.woocommerce-order-received .woocommerce-order h2,
body.woocommerce-order-received .woocommerce-order h3 {
	float: none !important;
	width: auto !important;
	text-align: left !important;
	margin: 0 0 16px !important;
	color: #153438 !important;
	font-size: 21px !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;
	letter-spacing: -.02em;
}

body.woocommerce-order-received .woocommerce-order-details__title::before,
body.woocommerce-order-received .woocommerce-column__title::before {
	content: "";
	display: inline-block;
	width: 6px;
	height: 20px;
	margin: 0 10px -3px 0;
	border-radius: 999px;
	background: #35e98a;
}

body.woocommerce-order-received .woocommerce-order table,
body.woocommerce-order-received .woocommerce-order table.shop_table,
body.woocommerce-order-received .woocommerce-order table.woocommerce-table {
	width: 100% !important;
	margin: 0 0 22px !important;
	border: 1px solid #e3e8e7 !important;
	border-radius: 14px !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	background: #fff;
	overflow: hidden;
	box-shadow: none !important;
}

body.woocommerce-order-received .woocommerce-order table thead th,
body.woocommerce-order-received .woocommerce-order table.shop_table thead th {
	background: #f3f8f6;
	color: #153438;
	font-size: 13px;
	font-weight: 700;
}

body.woocommerce-order-received .woocommerce-order table th,
body.woocommerce-order-received .woocommerce-order table td,
body.woocommerce-order-received .woocommerce-order table.shop_table th,
body.woocommerce-order-received .woocommerce-order table.shop_table td {
	padding: 13px 16px !important;
	border: 0 !important;
	border-bottom: 1px solid #e8eceb !important;
	color: #354846;
	font-size: 14px;
	line-height: 1.45;
	vertical-align: middle;
}

body.woocommerce-order-received .woocommerce-order table tr:last-child > th,
body.woocommerce-order-received .woocommerce-order table tr:last-child > td,
body.woocommerce-order-received .woocommerce-order table.shop_table tr:last-child > th,
body.woocommerce-order-received .woocommerce-order table.shop_table tr:last-child > td {
	border-bottom: 0 !important;
}

body.woocommerce-order-received .woocommerce-order table th,
body.woocommerce-order-received .woocommerce-order table.shop_table th {
	color: #17373a;
	font-weight: 600;
	text-align: left;
}

body.woocommerce-order-received .woocommerce-order table tfoot th,
body.woocommerce-order-received .woocommerce-order table tfoot td,
body.woocommerce-order-received .woocommerce-order table.shop_table tfoot th,
body.woocommerce-order-received .woocommerce-order table.shop_table tfoot td {
	background: #fafcfc;
	font-weight: 600;
}

body.woocommerce-order-received .woocommerce-order table tfoot tr:last-child th,
body.woocommerce-order-received .woocommerce-order table tfoot tr:last-child td,
body.woocommerce-order-received .woocommerce-order table.shop_table tfoot tr:last-child th,
body.woocommerce-order-received .woocommerce-order table.shop_table tfoot tr:last-child td {
	background: #effcf5;
	color: #0f4c3d;
	font-weight: 700;
}

body.woocommerce-order-received .woocommerce-order .product-name a,
body.woocommerce-order-received .woocommerce-order table a {
	color: #01454E;
	font-weight: 600;
	text-decoration: none;
}

body.woocommerce-order-received .woocommerce-order .product-name a:hover,
body.woocommerce-order-received .woocommerce-order table a:hover {
	color: #007b6b;
	text-decoration: underline;
	text-underline-offset: 3px;
}

body.woocommerce-order-received .woocommerce-order .amount {
	color: inherit;
	font-weight: 600;
}

body.woocommerce-order-received .woocommerce-order .woocommerce-columns,
body.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin: 0 !important;
}

body.woocommerce-order-received .woocommerce-order .woocommerce-column,
body.woocommerce-order-received .woocommerce-customer-details .woocommerce-column {
	float: none !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 20px !important;
	background: #f7faf9;
	border: 1px solid #e4eae8;
	border-radius: 14px;
}

body.woocommerce-order-received .woocommerce-customer-details address {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: #40514f;
	font-size: 14px;
	font-style: normal;
	line-height: 1.7;
}

body.woocommerce-order-received .woocommerce-customer-details address p {
	margin: 8px 0 0;
}

body.woocommerce-order-received .woocommerce-order .wc-item-meta,
body.woocommerce-order-received .woocommerce-order dl.variation {
	margin: 8px 0 0;
	padding: 0;
	color: #63716f;
	font-size: 12px;
}

@media (max-width: 900px) {
	body.woocommerce-order-received .woocommerce-order {
		padding: 26px 24px 30px;
		border-radius: 18px;
	}

	body.woocommerce-order-received ul.woocommerce-order-overview,
	body.woocommerce-order-received ul.order_details {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	body.woocommerce-order-received .woocommerce-order {
		padding: 18px 14px 22px;
		margin-bottom: 28px;
	}

	body.woocommerce-order-received p.woocommerce-thankyou-order-received,
	body.woocommerce-order-received .woocommerce-notice--success {
		padding: 17px 16px 17px 56px !important;
		font-size: 18px;
	}

	body.woocommerce-order-received p.woocommerce-thankyou-order-received::before,
	body.woocommerce-order-received .woocommerce-notice--success::before {
		left: 14px;
		width: 30px;
		height: 30px;
	}

	body.woocommerce-order-received ul.woocommerce-order-overview,
	body.woocommerce-order-received ul.order_details {
		grid-template-columns: 1fr;
		gap: 8px;
		margin-bottom: 28px !important;
	}

	body.woocommerce-order-received .woocommerce-order .woocommerce-columns,
	body.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns {
		grid-template-columns: 1fr;
	}

	body.woocommerce-order-received .woocommerce-order table th,
	body.woocommerce-order-received .woocommerce-order table td,
	body.woocommerce-order-received .woocommerce-order table.shop_table th,
	body.woocommerce-order-received .woocommerce-order table.shop_table td {
		padding: 11px 10px !important;
		font-size: 12px;
	}

	body.woocommerce-order-received .woocommerce-order-details__title,
	body.woocommerce-order-received .woocommerce-column__title,
	body.woocommerce-order-received .woocommerce-customer-details h2,
	body.woocommerce-order-received .woocommerce-order h2,
	body.woocommerce-order-received .woocommerce-order h3 {
		font-size: 19px !important;
	}
}

/* =========================================================
   HorecaHero v2.0.82 - bestelling ontvangen overzicht fix
   WooCommerce clearfix pseudo-elements namen onbedoeld
   grid-cellen in beslag. Daardoor viel het vierde kaartje
   naar een nieuwe regel.
   ========================================================= */
body.woocommerce-order-received ul.woocommerce-order-overview::before,
body.woocommerce-order-received ul.woocommerce-order-overview::after,
body.woocommerce-order-received ul.order_details::before,
body.woocommerce-order-received ul.order_details::after {
	content: none !important;
	display: none !important;
}



/* =========================================================
   HorecaHero v2.0.83 - topheader overal gelijk
   Geen donkere overlay meer in de accountbalk. De hoofdhero/
   header blijft zijn eigen achtergrond houden; topheader is
   transparant met alleen dezelfde subtiele onderlijn als home.
   ========================================================= */
.header .topheader,
body.cursusaanbod .header .topheader,
body.single-post .header .topheader,
body.single-product .header .topheader,
body:not(.cursusaanbod):not(.single-post):not(.single-product) .header .topheader {
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	border-bottom: 1px solid rgba(255, 255, 255, .055) !important;
	box-shadow: none !important;
}

/* Laat de buitenste ronde hoeken door de header/hero bepalen,
   zodat de topheader zelf nergens een donkere hoeklaag toevoegt. */
.header .topheader {
	border-top-left-radius: inherit !important;
	border-top-right-radius: inherit !important;
}

/* ==========================================================================
   HorecaHero Incompany offerte popup
   ========================================================================== */

.hh-incompany-quote-trigger {
	border: 0;
	cursor: pointer;
	font-family: inherit;
}

.hh-course-buy-card__button.hh-incompany-quote-trigger,
.hh-course-floating-cta__button.hh-incompany-quote-trigger {
	width: 100%;
}

.hh-incompany-modal {
	position: fixed;
	inset: 0;
	z-index: 100050;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
	transition: opacity .22s ease, visibility .22s ease;
}

.hh-incompany-modal.is-visible {
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
}

.hh-incompany-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 33, 39, .72);
	backdrop-filter: blur(5px);
}

.hh-incompany-modal__panel {
	position: relative;
	z-index: 1;
	width: min(720px, 100%);
	max-height: calc(100vh - 48px);
	overflow-y: auto;
	padding: 34px;
	border: 1px solid rgba(1, 69, 78, .12);
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 28px 90px rgba(0, 33, 39, .28);
	outline: 0;
	transform: translateY(16px) scale(.985);
	transition: transform .22s ease;
}

.hh-incompany-modal.is-visible .hh-incompany-modal__panel {
	transform: translateY(0) scale(1);
}

.hh-incompany-modal__close {
	position: absolute;
	top: 18px;
	right: 18px;
	display: inline-flex;
	width: 42px;
	height: 42px;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #f1f6f4;
	color: #01454e;
	font: inherit;
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
	transition: background .18s ease, transform .18s ease;
}

.hh-incompany-modal__close:hover,
.hh-incompany-modal__close:focus {
	background: #e5ff00;
	transform: rotate(3deg);
}

.hh-incompany-modal__header {
	padding-right: 54px;
	margin-bottom: 24px;
}

.hh-incompany-modal__eyebrow {
	display: inline-flex;
	margin-bottom: 10px;
	padding: 7px 11px;
	border-radius: 999px;
	background: #eafcf3;
	color: #01454e;
	font-size: 12px;
	font-weight: 700;
}

.hh-incompany-modal__header h2 {
	margin: 0 0 10px !important;
	color: #0b3136;
	font-size: clamp(28px, 4vw, 40px);
	line-height: 1.08;
	letter-spacing: -.025em;
}

.hh-incompany-modal__header p {
	max-width: 610px;
	margin: 0;
	color: #66797c;
	font-size: 15px;
	line-height: 1.6;
}

.hh-incompany-modal__form .wpcf7-form {
	margin: 0;
}

.hh-incompany-modal__form .wpcf7-form p:last-of-type {
	margin-bottom: 0;
}

.hh-incompany-modal__form input.wpcf7-submit {
	width: 100%;
	background: #e5ff00;
	color: #00363e;
}

.hh-incompany-success-banner {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin: 0 54px 22px 0;
	padding: 18px 20px;
	border: 1px solid rgba(53, 233, 138, .5);
	border-radius: 14px;
	background: #e7f8e8;
	color: #176b2a;
}

.hh-incompany-success-banner__icon {
	display: inline-flex;
	flex: 0 0 32px;
	width: 32px;
	height: 32px;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #35e98a;
	color: #00363e;
	font-size: 18px;
	font-weight: 800;
	line-height: 1;
}

.hh-incompany-success-banner__copy {
	display: flex;
	flex-direction: column;
	gap: 3px;
	padding-top: 1px;
}

.hh-incompany-success-banner__copy strong {
	color: #0b5130;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.3;
}

.hh-incompany-success-banner__copy span {
	color: #39714d;
	font-size: 14px;
	line-height: 1.45;
}

.hh-incompany-response-hidden {
	display: none !important;
}

body.hh-incompany-modal-open {
	overflow: hidden;
}

@media (max-width: 600px) {
	.hh-incompany-modal {
		align-items: flex-end;
		padding: 10px;
	}

	.hh-incompany-modal__panel {
		width: 100%;
		max-height: calc(100vh - 20px);
		padding: 26px 20px 22px;
		border-radius: 22px;
	}

	.hh-incompany-modal__close {
		top: 14px;
		right: 14px;
		width: 38px;
		height: 38px;
	}

	.hh-incompany-modal__header {
		padding-right: 44px;
	}

	.hh-incompany-success-banner {
		margin-right: 42px;
		padding: 16px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.hh-incompany-modal,
	.hh-incompany-modal__panel,
	.hh-incompany-modal__close {
		transition: none;
	}
}


/* =========================================================
   HorecaHero v2.0.90 - mobiele productheader exact als home
   De homepage heeft géén losse headerachtergrond. De absolute,
   transparante header ligt bovenop één hero met dezelfde glow.
   Op productpagina's doen we op mobiel nu exact hetzelfde.
   ========================================================= */
@media (max-width: 860px) {
    /* Zelfde principe als body.cursusaanbod: de header is alleen
       content (topbar/logo/hamburger) en heeft zelf geen kleurvlak. */
    body.single-product .header,
    body.single-product .header .topheader,
    body.single-product .header .header-container,
    body.single-product .header .mainheader {
        background: transparent !important;
        background-color: transparent !important;
        background-image: none !important;
        box-shadow: none !important;
    }

    body.single-product .header {
        left: 10px !important;
        right: 10px !important;
        top: 10px !important;
        width: auto !important;
        margin: 0 !important;
        border-radius: 12px 12px 0 0 !important;
        overflow: visible !important;
    }

    /* Net als home alleen het subtiele lijntje onder de topbar. */
    body.single-product .topheader {
        border-bottom: 1px solid rgba(255, 255, 255, .05) !important;
        border-radius: 12px 12px 0 0 !important;
    }

    /* Oude mobiele hoekmaskers horen bij de vroegere losse headerlaag
       en moeten dus weg zodra header + hero één visueel vlak vormen. */
    body.single-product .header::before,
    body.single-product .header::after {
        display: none !important;
        content: none !important;
    }

    /* Dit was de echte afwijking t.o.v. de homepage: de lege notices-
       wrapper nam mobiel 120px ruimte in vóór de hero. Daardoor kon de
       hero nooit achter het logo/menu doorlopen. Notices liggen nu, net
       als op desktop, uit de documentflow. */
    body.single-product .hh-course-product__notices {
        position: absolute !important;
        left: 0 !important;
        right: 0 !important;
        top: 155px !important;
        z-index: 40 !important;
        padding: 0 !important;
        background: transparent !important;
        pointer-events: none;
    }

    body.single-product .hh-course-product__notices .woocommerce-notices-wrapper,
    body.single-product .hh-course-product__notices .woocommerce-message,
    body.single-product .hh-course-product__notices .woocommerce-info,
    body.single-product .hh-course-product__notices .woocommerce-error {
        pointer-events: auto;
    }

    /* Één doorlopende achtergrond, exact dezelfde mobiele glow als home. */
    body.single-product .hh-course-hero {
        margin-top: 0 !important;
        padding-top: 205px !important;
        border-radius: 12px !important;
        background-color: #002f36 !important;
        background-image:
            radial-gradient(ellipse at 50% 18%, rgba(0, 102, 112, .50) 0%, rgba(0, 76, 86, .32) 36%, rgba(0, 47, 54, 0) 70%),
            linear-gradient(180deg, #00363e 0%, #002f36 100%) !important;
    }
}

@media (max-width: 560px) {
    /* De oude 25px mobile padding zou de inhoud achter de absolute header
       trekken. Daarom blijft ook op kleine schermen ruimte voor topbar,
       logo en hamburger binnen hetzelfde hero-vlak. */
    body.single-product .hh-course-hero {
        padding-top: 205px !important;
    }
}


/* ==========================================================
   HorecaHero v2.0.91 - inschrijven succesmelding
   ========================================================== */
.hh-inschrijven .woocommerce-message {
    display: flex !important;
    align-items: center !important;
    gap: 16px;
    margin: 0 0 34px !important;
    padding: 20px 24px 20px 72px !important;
    border: 1px solid rgba(53, 233, 138, .42) !important;
    border-left: 5px solid #35e98a !important;
    border-radius: 16px !important;
    background: linear-gradient(90deg, #eafcf3 0%, #f9fffc 100%) !important;
    box-shadow: none !important;
    color: #36575b !important;
    font-size: 17px !important;
    line-height: 1.45 !important;
}

.hh-inschrijven .woocommerce-message::before {
    left: 24px !important;
    width: 32px !important;
    height: 32px !important;
    background: #35e98a !important;
    color: #00363e !important;
    font-size: 17px !important;
    font-weight: 800 !important;
}

.hh-inschrijven .woocommerce-message .hh-added-product {
    color: #01454e;
    font-weight: 700;
}

@media (max-width: 700px) {
    .hh-inschrijven .woocommerce-message {
        display: block !important;
        padding: 18px 18px 18px 62px !important;
        border-radius: 14px !important;
        font-size: 15px !important;
    }

    .hh-inschrijven .woocommerce-message::before {
        left: 18px !important;
        top: 17px !important;
        transform: none !important;
        width: 30px !important;
        height: 30px !important;
    }
}


/* =========================================================
   HorecaHero v2.0.94
   - Mobiele producthero iets compacter onder logo/menu
   - Zelfde ritme als de homepage, zonder de desktop te wijzigen
   ========================================================= */
@media (max-width: 860px) {
    body.single-product .hh-course-hero {
        padding-top: 165px !important;
    }

    body.single-product .hh-course-back {
        margin-bottom: 22px !important;
    }
}

/* ==========================================================
   PDP: soortgelijke trainingen net boven de footer
   ========================================================== */
.hh-course-related {
	padding: 38px 0 84px;
	background: #fbf7f1;
}

.hh-course-related__heading {
	max-width: 760px;
	margin: 0 0 30px;
}

.hh-course-related__eyebrow {
	display: inline-flex;
	align-items: center;
	margin-bottom: 10px;
	padding: 7px 12px;
	border-radius: 999px;
	background: #eafcf3;
	color: #01454e;
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
}

.hh-course-related__heading h2 {
	margin: 0 0 8px;
	color: #0b3136;
	font-size: clamp(30px, 3vw, 44px);
	line-height: 1.08;
	letter-spacing: -0.03em;
}

.hh-course-related__heading p {
	margin: 0;
	color: #66797c;
	font-size: 16px;
	line-height: 1.55;
}

.hh-course-related__list .hh-product-card:last-child {
	margin-bottom: 0;
}

.hh-course-related__card .hh-product-card__content {
	min-height: 82px;
}

.hh-course-related__card .hh-btn {
	text-decoration: none !important;
}

@media (max-width: 767px) {
	.hh-course-related {
		padding: 32px 0 58px;
	}

	.hh-course-related__heading {
		margin-bottom: 24px;
	}

	.hh-course-related__heading h2 {
		font-size: 31px;
	}
}

/* ==========================================================
   Campus vergelijkingstabel: homepage-look + echt responsive
   v2.0.98
   De Campus-pagina bevat nog een oudere inline fallback met
   min-width:900px. Deze regels overschrijven die bewust.
   ========================================================== */

/* Houd de vergelijking op desktop exact in dezelfde visuele taal
   als de homepage-tabel en voorkom dat WPBakery breedtes forceert. */
body .hhc-home-table {
	width: 100%;
	max-width: 1080px;
	margin-left: auto;
	margin-right: auto;
}

body .hhc-home-table .hh-table-head,
body .hhc-home-table .hh-table-body,
body .hhc-home-table .hh-compare-bottom {
	min-width: 0;
}

body .hhc-home-table .hh-cell,
body .hhc-home-table .hh-label,
body .hhc-home-table .hh-head {
	min-width: 0;
}

body .hhc-home-table .hh-cell p,
body .hhc-home-table .hh-label strong,
body .hhc-home-table .hh-head strong,
body .hhc-home-table .hh-head span {
	overflow-wrap: break-word;
	word-break: normal;
}

/* Tablet: label over de volle breedte, Campus en Activate eronder
   naast elkaar. Zo blijft vergelijken mogelijk zonder zijwaarts scrollen. */
@media (min-width: 768px) and (max-width: 991px) {
	body .hhc-home-table {
		overflow: visible !important;
		padding-bottom: 0 !important;
	}

	body .hhc-home-table .hh-compare-intro {
		margin-left: 0 !important;
		margin-bottom: 24px;
	}

	body .hhc-home-table .hh-table-head,
	body .hhc-home-table .hh-table-body,
	body .hhc-home-table .hh-compare-bottom {
		min-width: 0 !important;
	}

	body .hhc-home-table .hh-table-head {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
		margin-left: 0 !important;
	}

	body .hhc-home-table .hh-head {
		min-height: 104px;
		padding: 24px 20px;
	}

	body .hhc-home-table .hh-row {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
		margin-bottom: 14px;
		border: 1px solid #dce6e3;
		border-radius: 17px;
		overflow: hidden;
		background: #fff;
	}

	body .hhc-home-table .hh-label {
		grid-column: 1 / -1;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 13px 18px;
		border: 0 !important;
		border-bottom: 1px solid #dce6e3 !important;
		border-radius: 0 !important;
	}

	body .hhc-home-table .hh-cell {
		min-height: 112px;
		padding: 18px 20px;
		border-top: 0 !important;
		border-bottom: 0 !important;
		border-radius: 0 !important;
	}

	body .hhc-home-table .hh-cell-hero {
		border-right: 1px solid #dce6e3 !important;
	}

	body .hhc-home-table .hh-cell-other {
		border-right: 0 !important;
	}

	body .hhc-home-table .hh-row:last-child .hh-cell-hero,
	body .hhc-home-table .hh-row:last-child .hh-cell-other {
		border-radius: 0 !important;
	}

	body .hhc-home-table .hh-compare-bottom {
		width: auto;
		max-width: 100%;
		margin-top: 22px;
	}
}

/* Mobiel: echte kaartopbouw. Geen desktopbreedte, geen horizontale scroll.
   Elk onderwerp vormt één compact vergelijkingsblok. */
@media (max-width: 767px) {
	body .hhc-home-table {
		width: 100% !important;
		max-width: 100% !important;
		overflow: visible !important;
		padding-bottom: 0 !important;
	}

	body .hhc-home-table .hh-compare-intro {
		margin: 0 0 22px !important;
	}

	body .hhc-home-table .hh-compare-intro h2 {
		font-size: 27px;
		line-height: 1.1;
	}

	body .hhc-home-table .hh-compare-intro p {
		font-size: 15px;
		line-height: 1.55;
	}

	/* De grote kolomheaders zijn mobiel dubbelop. De kolomnaam staat
	   bij iedere waarde, zodat ook lager op de pagina altijd duidelijk
	   blijft welke tekst bij Campus en welke bij Activate hoort. */
	body .hhc-home-table .hh-table-head {
		display: none !important;
		min-width: 0 !important;
		margin-left: 0 !important;
	}

	body .hhc-home-table .hh-table-body,
	body .hhc-home-table .hh-compare-bottom {
		min-width: 0 !important;
	}

	body .hhc-home-table .hh-row {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		align-items: stretch;
		margin: 0 0 16px;
		border: 1px solid #dce6e3;
		border-radius: 17px;
		overflow: hidden;
		background: #fff;
	}

	body .hhc-home-table .hh-label {
		min-height: 0 !important;
		margin: 0 !important;
		padding: 12px 16px;
		border: 0 !important;
		border-bottom: 1px solid #dce6e3 !important;
		border-radius: 0 !important;
		background: #edf5f2;
	}

	body .hhc-home-table .hh-label strong {
		font-size: 13px;
		line-height: 1.3;
	}

	body .hhc-home-table .hh-cell {
		display: grid !important;
		grid-template-columns: 34px minmax(0, 1fr);
		grid-template-areas:
			"column column"
			"icon copy";
		column-gap: 12px;
		row-gap: 8px;
		align-items: start;
		min-height: 0 !important;
		padding: 15px 16px 17px;
		border: 0 !important;
		border-radius: 0 !important;
	}

	body .hhc-home-table .hh-cell + .hh-cell {
		border-top: 1px solid #dce6e3 !important;
	}

	body .hhc-home-table .hh-cell::before {
		grid-area: column;
		display: block;
		margin-bottom: 1px;
		font-size: 11px;
		font-weight: 700;
		line-height: 1.25;
		letter-spacing: .035em;
		text-transform: uppercase;
	}

	body .hhc-home-table .hh-cell-hero::before {
		content: "HorecaHero Campus";
		color: #01454e;
	}

	body .hhc-home-table .hh-cell-other::before {
		content: "HorecaHero Activate";
		color: #66797c;
	}

	body .hhc-home-table .hh-check,
	body .hhc-home-table .hh-minus,
	body .hhc-home-table .hh-cross {
		grid-area: icon;
		align-self: start;
		margin: 0;
	}

	body .hhc-home-table .hh-cell p {
		grid-area: copy;
		min-width: 0;
		font-size: 14px;
		line-height: 1.5;
	}

	body .hhc-home-table .hh-row:first-child .hh-cell {
		border-top: 0 !important;
	}

	body .hhc-home-table .hh-row:last-child .hh-cell-hero,
	body .hhc-home-table .hh-row:last-child .hh-cell-other {
		border-radius: 0 !important;
	}

	body .hhc-home-table .hh-compare-bottom {
		width: auto !important;
		max-width: 100% !important;
		margin: 20px 0 0 !important;
		padding: 18px 17px;
		text-align: left;
	}

	body .hhc-home-table .hh-compare-bottom p {
		font-size: 14px;
		line-height: 1.55;
	}
}

/* =========================================================
   HorecaHero v2.0.138 - inschrijfformulier in actuele huisstijl
   Velden en acties sluiten aan op de homepage: donker teal,
   helder groen, rustige afgeronde hoeken en duidelijke focus.
   ========================================================= */
.hh-inschrijven {
	--hh-checkout-primary: var(--primary-color);
	--hh-checkout-primary-dark: #00363e;
	--hh-checkout-accent: #35e98a;
	--hh-checkout-cta: #e5ff00;
	--hh-checkout-border: rgba(1, 69, 78, .16);
}

/* Stapkoppen: zelfde teal/groen-taal als de rest van de website. */
.hh-inschrijven .hh-step-title {
	border-color: var(--hh-checkout-border);
	background: #fff;
}

.hh-inschrijven .hh-step-number {
	background: var(--hh-checkout-primary);
	color: var(--hh-checkout-accent);
}

.hh-inschrijven .hh-step-title h2 {
	color: var(--hh-checkout-primary);
}

/* Alle echte formuliercontrols dezelfde maat, radius en focus geven. */
.hh-inschrijven .hh-checkout-box input.input-text,
.hh-inschrijven .hh-checkout-box input[type="text"],
.hh-inschrijven .hh-checkout-box input[type="email"],
.hh-inschrijven .hh-checkout-box input[type="tel"],
.hh-inschrijven .hh-checkout-box input[type="password"],
.hh-inschrijven .hh-checkout-box select,
.hh-inschrijven .hh-payment-box input.input-text,
.hh-inschrijven .hh-payment-box input[type="text"],
.hh-inschrijven .hh-payment-box input[type="email"],
.hh-inschrijven .hh-payment-box input[type="tel"],
.hh-inschrijven .hh-payment-box select,
.hh-inschrijven .hh-participant-card input.input-text,
.hh-inschrijven .hh-participant-card input[type="text"],
.hh-inschrijven .hh-participant-card input[type="email"],
.hh-inschrijven .hh-participant-card input[type="tel"],
.hh-inschrijven .hh-participant-card select,
.hh-inschrijven .hh-coupon-input {
	min-height: 48px !important;
	height: 48px !important;
	border: 1px solid var(--hh-checkout-border) !important;
	border-radius: 10px !important;
	padding: 0 14px !important;
	background: #fff !important;
	color: var(--hh-checkout-primary) !important;
	font-size: 14px !important;
	font-weight: 500;
	box-shadow: none !important;
}

.hh-inschrijven .hh-checkout-box textarea,
.hh-inschrijven .hh-payment-box textarea,
.hh-inschrijven .hh-participant-card textarea {
	border-color: var(--hh-checkout-border) !important;
	border-radius: 10px !important;
	color: var(--hh-checkout-primary) !important;
}

.hh-inschrijven .hh-checkout-box input::placeholder,
.hh-inschrijven .hh-payment-box input::placeholder,
.hh-inschrijven .hh-participant-card input::placeholder,
.hh-inschrijven .hh-coupon-input::placeholder {
	color: #87999a;
	opacity: 1;
}

.hh-inschrijven .hh-checkout-box input:focus,
.hh-inschrijven .hh-checkout-box select:focus,
.hh-inschrijven .hh-checkout-box textarea:focus,
.hh-inschrijven .hh-payment-box input:focus,
.hh-inschrijven .hh-payment-box select:focus,
.hh-inschrijven .hh-payment-box textarea:focus,
.hh-inschrijven .hh-participant-card input:focus,
.hh-inschrijven .hh-participant-card select:focus,
.hh-inschrijven .hh-participant-card textarea:focus,
.hh-inschrijven .hh-coupon-input:focus {
	border-color: var(--hh-checkout-accent) !important;
	box-shadow: 0 0 0 3px rgba(53, 233, 138, .12) !important;
}

.hh-inschrijven .select2-container .select2-selection--single,
.hh-inschrijven .select2-container--default .select2-selection--single {
	height: 48px !important;
	min-height: 48px !important;
	border-color: var(--hh-checkout-border) !important;
	border-radius: 10px !important;
}

.hh-inschrijven .select2-container .select2-selection--single .select2-selection__rendered {
	height: 46px !important;
	line-height: 46px !important;
	color: var(--hh-checkout-primary) !important;
}

.hh-inschrijven .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 46px !important;
}

/* Labels en koppen iets meer de donkere teal huisstijl in trekken. */
.hh-inschrijven .hh-checkout-box label,
.hh-inschrijven .hh-payment-box label,
.hh-inschrijven .hh-participant-card label,
.hh-inschrijven .hh-checkout-box h3,
.hh-inschrijven .hh-payment-box h3,
.hh-inschrijven .hh-participant-card h3,
.hh-inschrijven .hh-billing-card h3 {
	color: var(--hh-checkout-primary);
}

/* Secundaire acties: donker teal met het heldere HorecaHero-groen. */
.hh-inschrijven .hh-discount-copy,
.hh-inschrijven .hh-coupon-button,
.hh-inschrijven .hh-login-trigger__button {
	min-height: 48px;
	border: 0;
	border-radius: 10px;
	background: var(--hh-checkout-primary) !important;
	color: var(--hh-checkout-accent) !important;
	font-weight: 800;
	box-shadow: none;
	transition: background-color .18s ease, transform .18s ease;
}

.hh-inschrijven .hh-discount-copy:hover,
.hh-inschrijven .hh-coupon-button:hover,
.hh-inschrijven .hh-login-trigger__button:hover {
	background: var(--hh-checkout-primary-dark) !important;
	color: var(--hh-checkout-accent) !important;
	transform: translateY(-1px);
}

.hh-inschrijven .hh-coupon-button:disabled {
	background: #dce5e3 !important;
	color: #819391 !important;
	transform: none;
}

/* Hoofdactie krijgt dezelfde opvallende lime CTA als bovenin de site. */
.hh-inschrijven .hh-payment-box #place_order {
	min-height: 56px;
	border-radius: 10px !important;
	background: var(--hh-checkout-cta) !important;
	color: var(--hh-checkout-primary) !important;
	font-size: 16px;
	font-weight: 900;
	letter-spacing: -.01em;
	transition: transform .18s ease, background-color .18s ease;
}

.hh-inschrijven .hh-payment-box #place_order:hover {
	background: #dbf500 !important;
	color: var(--hh-checkout-primary) !important;
	transform: translateY(-1px);
}

/* Kleine +/- acties en extra cursusknop niet meer zwart. */
.hh-inschrijven .hh-qty-btn,
.hh-inschrijven .hh-course-add-extra span,
.hh-inschrijven .hh-add-course__icon {
	background: var(--hh-checkout-primary);
	color: var(--hh-checkout-accent) !important;
}

.hh-inschrijven .hh-qty-btn:hover {
	background: var(--hh-checkout-primary-dark);
	color: var(--hh-checkout-accent) !important;
}

.hh-inschrijven .hh-course-add-extra,
.hh-inschrijven .hh-add-course {
	color: var(--hh-checkout-primary);
}

/* Betaalkeuze en voorwaarden dezelfde accentkleur geven. */
.hh-inschrijven .hh-payment-box input[type="radio"],
.hh-inschrijven .hh-payment-box input[type="checkbox"],
.hh-inschrijven .woocommerce-terms-and-conditions-wrapper input[type="checkbox"] {
	accent-color: var(--hh-checkout-accent);
}

.hh-inschrijven .woocommerce-terms-and-conditions-wrapper input[type="checkbox"] {
	width: 18px;
	height: 18px;
	margin: 2px 7px 0 0;
	vertical-align: top;
}

/* Couponveld en knop exact gelijk hoog, geen oude pill-vorm meer. */
.hh-inschrijven .hh-coupon-row {
	align-items: stretch;
	gap: 10px;
}

.hh-inschrijven .hh-coupon-button {
	min-height: 48px;
	padding: 0 20px;
}

@media (max-width: 560px) {
	.hh-inschrijven .hh-coupon-row {
		gap: 8px;
	}

	.hh-inschrijven .hh-coupon-button {
		padding: 0 14px;
	}
}

/* =========================================================
   HorecaHero v2.0.139 - platte CTA's en geen form-glow
   Lime CTA's krijgen de vaste 3px onderrand uit de huisstijl.
   Focus/checked states gebruiken geen zachte glow meer.
   ========================================================= */

/* Lime buttons: echte onderrand, geen schaduw/glow. */
.cta-footer__button,
nav#desktop ul li.cta-1 a,
nav#menu ul li.cta-1 a,
a.mobile-cta-button,
.hh-course-buy-card__standard-cart .single_add_to_cart_button,
.hh-incompany-modal__form input.wpcf7-submit,
.hh-inschrijven .hh-payment-box #place_order {
	border-bottom: 3px solid rgba(0, 0, 0, .2) !important;
	box-shadow: none !important;
	filter: none !important;
}

/* Geen glow rondom formuliercontrols. De randkleur blijft de focus aangeven. */
.hh-inschrijven .hh-checkout-box input:focus,
.hh-inschrijven .hh-checkout-box select:focus,
.hh-inschrijven .hh-checkout-box textarea:focus,
.hh-inschrijven .hh-payment-box input:focus,
.hh-inschrijven .hh-payment-box select:focus,
.hh-inschrijven .hh-payment-box textarea:focus,
.hh-inschrijven .hh-participant-card input:focus,
.hh-inschrijven .hh-participant-card select:focus,
.hh-inschrijven .hh-participant-card textarea:focus,
.hh-inschrijven .hh-coupon-input:focus {
	box-shadow: none !important;
	filter: none !important;
}

/* Radio's op de betaalstap volledig vlak tekenen, zodat de browser geen
   eigen groene halo/glow meer kan toevoegen. */
.hh-inschrijven .hh-payment-box input[type="radio"],
.hh-inschrijven .hh-payment-box input.input-radio {
	-webkit-appearance: none !important;
	appearance: none !important;
	box-sizing: border-box !important;
	width: 19px !important;
	height: 19px !important;
	min-width: 19px !important;
	min-height: 19px !important;
	margin: 0 !important;
	border: 2px solid #9aa7a6 !important;
	border-radius: 50% !important;
	background: #fff !important;
	box-shadow: none !important;
	filter: none !important;
	outline: none !important;
	cursor: pointer;
}

.hh-inschrijven .hh-payment-box input[type="radio"]:checked,
.hh-inschrijven .hh-payment-box input.input-radio:checked {
	border-color: var(--hh-checkout-primary) !important;
	background: radial-gradient(circle at center, var(--hh-checkout-accent) 0 42%, #fff 44% 100%) !important;
	box-shadow: none !important;
}

.hh-inschrijven .hh-payment-box input[type="radio"]:focus-visible,
.hh-inschrijven .hh-payment-box input.input-radio:focus-visible {
	border-color: var(--hh-checkout-primary) !important;
	outline: 2px solid var(--hh-checkout-primary) !important;
	outline-offset: 2px !important;
	box-shadow: none !important;
}

/* Ook native radio/checkbox controls elders mogen nooit een CSS-glow krijgen. */
input[type="radio"],
input[type="checkbox"],
input[type="radio"]:focus,
input[type="checkbox"]:focus,
input[type="radio"]:checked,
input[type="checkbox"]:checked {
	box-shadow: none !important;
	filter: none !important;
}

/* =========================================================
   HorecaHero v2.0.142 - Contact Form 7 verborgen UI opruimen
   CF7 6.x plaatst verborgen metadata in een fieldset. De globale
   normalize fieldset-stijl maakte die per ongeluk zichtbaar in de
   incompany-offertepopup. Ook de lege response-output kreeg al
   padding/border voordat er een melding was.
   ========================================================= */
.hh-incompany-modal__form fieldset.hidden-fields-container {
	display: none !important;
	border: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

.hh-incompany-modal__form .wpcf7-response-output[aria-hidden="true"],
.hh-incompany-modal__form .wpcf7-response-output:empty {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}


/* =========================================================
   HorecaHero v2.0.144 - Incompany popup altijd boven navigatie
   De oude header/hamburger gebruikt extreem hoge z-indexwaarden. Tijdens
   de offertepopup maken we van de header bewust een lage stacking context,
   zodat navigatie/CTA nooit meer door het modalscherm heen kunnen komen.
   ========================================================= */
.hh-incompany-modal {
	z-index: 2147483647 !important;
}

body.hh-incompany-modal-open .header,
body.hh-incompany-modal-open header.header,
body.hh-incompany-modal-open #header {
	position: relative !important;
	z-index: 0 !important;
}

body.hh-incompany-modal-open nav#desktop,
body.hh-incompany-modal-open .toggle-button,
body.hh-incompany-modal-open .slideout-menu,
body.hh-incompany-modal-open .post-edit-link {
	z-index: 1 !important;
}


/* =========================================================
   HACCP centrale landingspagina - v2.0.145
   Product 15206 toont beide echte taalproducten zonder zelf koopbaar te zijn.
   ========================================================= */
.hh-haccp-variants {
	display: grid;
	gap: 14px;
	margin: 4px 0 0;
}

.hh-haccp-variant {
	scroll-margin-top: 120px;
	padding: 18px;
	border: 1px solid #e3e7e5;
	border-radius: 16px;
	background: #f8faf9;
}

.hh-haccp-variant__top {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 14px;
}

.hh-haccp-variant__flag {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 42px;
	width: 42px;
	height: 42px;
	border: 1px solid #e0e4e2;
	border-radius: 12px;
	background: #fff;
	font-size: 23px;
	line-height: 1;
}

.hh-haccp-variant__top > div {
	display: grid;
	gap: 2px;
	min-width: 0;
}

.hh-haccp-variant__language {
	color: #68736f;
	font-size: 11px;
	font-weight: 800;
	line-height: 1.2;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.hh-haccp-variant__top strong {
	color: #111;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.25;
}

.hh-haccp-variant__price {
	display: flex;
	align-items: baseline;
	gap: 7px;
	margin: 0 0 13px;
	color: #111;
}

.hh-haccp-variant__price .woocommerce-Price-amount {
	font-size: 24px;
	font-weight: 900;
	line-height: 1;
	letter-spacing: -0.03em;
}

.hh-haccp-variant__price small {
	color: #7b8581;
	font-size: 11px;
	font-weight: 700;
}

.hh-haccp-variant__button {
	min-height: 50px !important;
	font-size: 14px !important;
}

.hh-course-floating-cta__variant-links {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	width: 100%;
}

.hh-course-floating-cta__button--secondary {
	background: #fff !important;
	border: 1px solid rgba(255, 255, 255, 0.5) !important;
	border-bottom: 3px solid rgba(0, 0, 0, 0.2) !important;
	color: #173f3c !important;
}

@media (max-width: 520px) {
	.hh-haccp-variant {
		padding: 15px;
	}

	.hh-course-floating-cta__variant-links {
		grid-template-columns: 1fr;
	}
}


/* =========================================================
   HACCP hub layout fix - v2.0.146
   De centrale HACCP-pagina heeft twee taalkeuzes in één koopblok. Dat blok
   is hoger dan een normale productkaart. De standaard hero gebruikte een
   vaste min-height + verticale centrering, waardoor de kaart boven de hero
   uit kon schuiven en tegen/onder de header terechtkwam. De hub krijgt
   daarom een eigen natuurlijke herohoogte en compacter keuze-paneel.
   ========================================================= */
.hh-course-product--haccp-hub .hh-course-hero {
	min-height: 0;
	padding-top: 190px;
	padding-bottom: 96px;
	background: var(--primary-color);
}

.hh-course-product--haccp-hub .hh-course-hero::after {
	display: none;
}

.hh-course-product--haccp-hub .hh-course-hero__grid {
	grid-template-columns: minmax(0, 1fr) 500px;
	gap: 64px;
	align-items: start;
}

.hh-course-product--haccp-hub .hh-course-hero__content {
	padding-top: 54px;
}

.hh-course-product--haccp-hub .hh-course-buy-card {
	width: 100%;
	margin: 0;
	padding: 28px;
	border-radius: 22px;
}

.hh-course-product--haccp-hub .hh-course-buy-card h2 {
	font-size: 27px;
	line-height: 1.08;
}

.hh-course-product--haccp-hub .hh-course-buy-card__text {
	margin-bottom: 18px;
}

.hh-course-product--haccp-hub .hh-haccp-variants {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.hh-course-product--haccp-hub .hh-haccp-variant {
	display: flex;
	min-width: 0;
	padding: 15px;
	flex-direction: column;
}

.hh-course-product--haccp-hub .hh-haccp-variant__top {
	align-items: flex-start;
	gap: 10px;
	margin-bottom: 12px;
}

.hh-course-product--haccp-hub .hh-haccp-variant__flag {
	flex-basis: 38px;
	width: 38px;
	height: 38px;
	border-radius: 10px;
	font-size: 20px;
}

.hh-course-product--haccp-hub .hh-haccp-variant__top strong {
	font-size: 14px;
}

.hh-course-product--haccp-hub .hh-haccp-variant__language {
	font-size: 10px;
}

.hh-course-product--haccp-hub .hh-haccp-variant__price {
	margin-top: auto;
	margin-bottom: 11px;
}

.hh-course-product--haccp-hub .hh-haccp-variant__price .woocommerce-Price-amount {
	font-size: 22px;
}

.hh-course-product--haccp-hub .hh-haccp-variant__button {
	min-height: 46px !important;
	padding-right: 12px !important;
	padding-left: 12px !important;
	font-size: 13px !important;
}

.hh-course-product--haccp-hub .hh-payment-methods--product {
	margin-top: 14px;
	padding-top: 12px;
}

.hh-course-product--haccp-hub .hh-course-buy-card__discount {
	margin-top: 14px;
}

.hh-course-product--haccp-hub .hh-course-buy-card__assurances {
	margin-top: 14px;
}

@media (max-width: 1050px) {
	.hh-course-product--haccp-hub .hh-course-hero {
		padding-top: 175px;
		padding-bottom: 82px;
	}

	.hh-course-product--haccp-hub .hh-course-hero__grid {
		grid-template-columns: minmax(0, 1fr) 440px;
		gap: 38px;
	}

	.hh-course-product--haccp-hub .hh-course-hero__content {
		padding-top: 35px;
	}
}

@media (max-width: 860px) {
	.hh-course-product--haccp-hub .hh-course-hero {
		padding: 65px 0 82px;
	}

	.hh-course-product--haccp-hub .hh-course-hero__grid {
		grid-template-columns: 1fr;
		gap: 34px;
	}

	.hh-course-product--haccp-hub .hh-course-hero__content {
		padding-top: 0;
	}

	.hh-course-product--haccp-hub .hh-course-buy-card {
		width: min(100%, 620px);
	}
}

@media (max-width: 560px) {
	.hh-course-product--haccp-hub .hh-course-hero {
		padding: 25px 0 68px;
	}

	.hh-course-product--haccp-hub .hh-course-buy-card {
		padding: 23px 20px;
	}

	.hh-course-product--haccp-hub .hh-haccp-variants {
		grid-template-columns: 1fr;
	}
}

/* =========================================================
   HACCP hub: zelfde hero-geometrie als gewone productpagina - v2.0.147
   Alleen de inhoud van het koopblok wijkt af. De hero, headerafstand,
   kolombreedtes en verticale uitlijning volgen weer exact dezelfde basis
   als o.a. Sociale Hygiëne. Zo kan de taalkeuze de header niet meer raken.
   ========================================================= */
@media (min-width: 1051px) {
	.hh-course-product--haccp-hub .hh-course-hero {
		min-height: 760px;
		padding: 205px 0 105px;
	}

	.hh-course-product--haccp-hub .hh-course-hero::after {
		display: block;
	}

	.hh-course-product--haccp-hub .hh-course-hero__grid {
		grid-template-columns: minmax(0, 1fr) 410px;
		gap: 76px;
		align-items: center;
	}

	.hh-course-product--haccp-hub .hh-course-hero__content {
		padding: 8px 0;
	}

	.hh-course-product--haccp-hub .hh-course-buy-card {
		width: auto;
		margin: 0;
		padding: 30px;
	}
}

/* Binnen dezelfde 410px kaart als de gewone PDP worden de talen bewust
   onder elkaar gezet. Twee kaarten naast elkaar maakten het koopblok te
   breed en dwongen de complete hero uit zijn bestaande raster. */
.hh-course-product--haccp-hub .hh-haccp-variants {
	grid-template-columns: 1fr;
	gap: 10px;
}

.hh-course-product--haccp-hub .hh-haccp-variant {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-areas:
		"top price"
		"button button";
	align-items: center;
	gap: 9px 14px;
	padding: 14px;
}

.hh-course-product--haccp-hub .hh-haccp-variant__top {
	grid-area: top;
	align-items: center;
	margin: 0;
}

.hh-course-product--haccp-hub .hh-haccp-variant__price {
	grid-area: price;
	justify-content: flex-end;
	margin: 0;
	white-space: nowrap;
}

.hh-course-product--haccp-hub .hh-haccp-variant__button {
	grid-area: button;
	width: 100%;
}

@media (max-width: 1050px) and (min-width: 861px) {
	.hh-course-product--haccp-hub .hh-course-hero {
		min-height: 0;
		padding: 205px 0 95px;
	}

	.hh-course-product--haccp-hub .hh-course-hero::after {
		display: block;
	}

	.hh-course-product--haccp-hub .hh-course-hero__grid {
		grid-template-columns: minmax(0, 1fr) 370px;
		gap: 44px;
		align-items: center;
	}

	.hh-course-product--haccp-hub .hh-course-hero__content {
		padding: 8px 0;
	}

	.hh-course-product--haccp-hub .hh-course-buy-card {
		width: auto;
		margin: 0;
		padding: 28px;
	}

	.hh-course-product--haccp-hub .hh-haccp-variant {
		grid-template-columns: 1fr;
		grid-template-areas:
			"top"
			"price"
			"button";
	}

	.hh-course-product--haccp-hub .hh-haccp-variant__price {
		justify-content: flex-start;
	}
}

@media (max-width: 860px) {
	.hh-course-product--haccp-hub .hh-course-hero {
		min-height: 0;
		padding: 165px 0 82px !important;
	}

	.hh-course-product--haccp-hub .hh-course-hero::after {
		display: block;
	}

	.hh-course-product--haccp-hub .hh-course-hero__grid {
		grid-template-columns: 1fr;
		gap: 40px;
		align-items: center;
	}

	.hh-course-product--haccp-hub .hh-course-hero__content {
		padding: 0;
	}

	.hh-course-product--haccp-hub .hh-course-buy-card {
		width: min(100%, 560px);
		margin: 0 auto;
		padding: 28px;
	}
}

@media (max-width: 560px) {
	.hh-course-product--haccp-hub .hh-course-hero {
		padding: 165px 0 72px !important;
	}

	.hh-course-product--haccp-hub .hh-course-buy-card {
		padding: 26px 22px;
	}

	.hh-course-product--haccp-hub .hh-haccp-variant {
		grid-template-columns: 1fr;
		grid-template-areas:
			"top"
			"price"
			"button";
	}

	.hh-course-product--haccp-hub .hh-haccp-variant__price {
		justify-content: flex-start;
	}
}


/* =========================================================
   Taalkeuze-kaarten naast elkaar - v2.0.154
   Centrale HACCP- en Sociale Hygiëne-hubs: NL en ENG staan
   op desktop/tablet naast elkaar; mobiel bewust onder elkaar.
   ========================================================= */
.hh-course-product--language-hub .hh-haccp-variants {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.hh-course-product--language-hub .hh-haccp-variant {
	display: flex;
	min-width: 0;
	padding: 13px;
	flex-direction: column;
	align-items: stretch;
	gap: 10px;
}

.hh-course-product--language-hub .hh-haccp-variant__top {
	display: flex;
	align-items: center;
	gap: 9px;
	margin: 0;
}

.hh-course-product--language-hub .hh-haccp-variant__flag {
	flex: 0 0 34px;
	width: 34px;
	height: 34px;
	border-radius: 9px;
	font-size: 18px;
}

.hh-course-product--language-hub .hh-haccp-variant__top > div {
	min-width: 0;
}

.hh-course-product--language-hub .hh-haccp-variant__top strong {
	display: block;
	font-size: 13px;
	line-height: 1.25;
}

.hh-course-product--language-hub .hh-haccp-variant__language {
	font-size: 9px;
}

.hh-course-product--language-hub .hh-haccp-variant__price {
	display: flex;
	justify-content: flex-start;
	margin: auto 0 0;
	white-space: nowrap;
}

.hh-course-product--language-hub .hh-haccp-variant__price .woocommerce-Price-amount {
	font-size: 20px;
}

.hh-course-product--language-hub .hh-haccp-variant__button {
	width: 100%;
	min-height: 46px !important;
	padding-right: 10px !important;
	padding-left: 10px !important;
	font-size: 12px !important;
	white-space: nowrap;
}

@media (max-width: 560px) {
	.hh-course-product--language-hub .hh-haccp-variants {
		grid-template-columns: 1fr;
	}

	.hh-course-product--language-hub .hh-haccp-variant {
		padding: 14px;
	}

	.hh-course-product--language-hub .hh-haccp-variant__button {
		font-size: 13px !important;
	}
}

/* =========================================================
   HorecaHero v2.0.155 - Academy login chooser
   Vanaf 1 oktober 2026 gebruikt HorecaHero een nieuwe academy.
   De header-login opent daarom eerst een duidelijke datumkeuze.
   ========================================================= */
.hh-academy-login-modal {
	position: fixed;
	inset: 0;
	z-index: 2147483646;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 28px;
}

.hh-academy-login-modal.is-visible {
	display: flex;
}

.hh-academy-login-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 55, 60, .76);
	-webkit-backdrop-filter: blur(5px);
	backdrop-filter: blur(5px);
}

.hh-academy-login-modal__panel {
	position: relative;
	z-index: 2;
	width: min(720px, 100%);
	max-height: calc(100vh - 56px);
	overflow-y: auto;
	background: #fff;
	border: 1px solid #dce5e4;
	border-radius: 30px;
	padding: 38px;
	color: #073f43;
}

.hh-academy-login-modal__close {
	position: absolute;
	top: 18px;
	right: 18px;
	width: 42px;
	height: 42px;
	border: 0;
	border-radius: 50%;
	background: #f1f5f4;
	color: #073f43;
	font: inherit;
	font-size: 30px;
	font-weight: 400;
	line-height: 1;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: none !important;
}

.hh-academy-login-modal__close:hover,
.hh-academy-login-modal__close:focus-visible {
	background: #e9efee;
	outline: 2px solid #00c853;
	outline-offset: 2px;
}

.hh-academy-login-modal__eyebrow {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	padding: 5px 12px;
	margin: 0 0 14px;
	border-radius: 999px;
	background: #eaffef;
	color: #009d42;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.hh-academy-login-modal h2 {
	margin: 0;
	padding-right: 48px;
	font-size: clamp(30px, 4vw, 42px);
	line-height: 1.08;
	letter-spacing: -.035em;
	font-weight: 800;
	color: #073f43;
}

.hh-academy-login-modal__intro {
	max-width: 570px;
	margin: 12px 0 26px;
	font-size: 17px;
	line-height: 1.55;
	color: #617071;
}

.hh-academy-login-modal__choices {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.hh-academy-login-modal__choice {
	display: flex;
	flex-direction: column;
	min-height: 260px;
	padding: 24px;
	border: 1px solid #dce5e4;
	border-radius: 22px;
	background: #fff;
}

.hh-academy-login-modal__choice--new {
	background: #f8fff8;
	border-color: #bfe9ca;
}

.hh-academy-login-modal__date {
	display: block;
	margin-bottom: 8px;
	font-size: 12px;
	line-height: 1.35;
	font-weight: 800;
	letter-spacing: .02em;
	text-transform: uppercase;
	color: #6a7879;
}

.hh-academy-login-modal__choice--new .hh-academy-login-modal__date {
	color: #009d42;
}

.hh-academy-login-modal__choice h3 {
	margin: 0 0 10px;
	font-size: 23px;
	line-height: 1.15;
	font-weight: 800;
	color: #073f43;
}

.hh-academy-login-modal__choice p {
	margin: 0 0 22px;
	font-size: 15px;
	line-height: 1.55;
	color: #657273;
}

.hh-academy-login-modal__button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 54px;
	margin-top: auto;
	padding: 12px 18px;
	border-radius: 12px;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.2;
	text-align: center;
	text-decoration: none !important;
	box-shadow: none !important;
}

.hh-academy-login-modal__button--old {
	background: #07575c;
	color: #fff !important;
	border-bottom: 3px solid rgba(0,0,0,.2);
}

.hh-academy-login-modal__button--new {
	background: #e5ff00;
	color: #073f43 !important;
	border-bottom: 3px solid rgba(0,0,0,.2);
}

.hh-academy-login-modal__button:hover,
.hh-academy-login-modal__button:focus-visible {
	transform: translateY(-1px);
	box-shadow: none !important;
}

.hh-academy-login-modal__button:focus-visible {
	outline: 2px solid #00c853;
	outline-offset: 3px;
}

.hh-academy-login-modal__help {
	margin: 22px 0 0;
	font-size: 14px;
	line-height: 1.5;
	text-align: center;
	color: #738081;
}

.hh-academy-login-modal__help a {
	color: #07575c;
	font-weight: 800;
	text-decoration: underline;
	text-underline-offset: 2px;
}

body.hh-academy-modal-open {
	overflow: hidden;
}

body.hh-academy-modal-open .header,
body.hh-academy-modal-open header.header,
body.hh-academy-modal-open #header,
body.hh-academy-modal-open nav#desktop,
body.hh-academy-modal-open .toggle-button,
body.hh-academy-modal-open .slideout-menu,
body.hh-academy-modal-open .post-edit-link {
	z-index: 1 !important;
}

@media (max-width: 680px) {
	.hh-academy-login-modal {
		align-items: flex-start;
		padding: 16px;
	}

	.hh-academy-login-modal__panel {
		max-height: calc(100vh - 32px);
		border-radius: 24px;
		padding: 28px 20px 22px;
	}

	.hh-academy-login-modal h2 {
		font-size: 30px;
	}

	.hh-academy-login-modal__intro {
		font-size: 15px;
		margin-bottom: 20px;
	}

	.hh-academy-login-modal__choices {
		grid-template-columns: 1fr;
	}

	.hh-academy-login-modal__choice {
		min-height: 0;
		padding: 20px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.hh-academy-login-modal__button {
		transition: none !important;
	}
	.hh-academy-login-modal__button:hover,
	.hh-academy-login-modal__button:focus-visible {
		transform: none;
	}
}


/* =========================================================
   HorecaHero v2.0.156 - Academy chooser polish
   ========================================================= */
.hh-academy-login-modal__button--old {
	background-color: #07575c !important;
	background-image: none !important;
	color: #fff !important;
	border: 0 !important;
	border-bottom: 3px solid rgba(0,0,0,.2) !important;
	opacity: 1 !important;
	visibility: visible !important;
}

.hh-academy-login-modal__button--new {
	background-color: #e5ff00 !important;
	background-image: none !important;
	color: #073f43 !important;
	border: 0 !important;
	border-bottom: 3px solid rgba(0,0,0,.2) !important;
	opacity: 1 !important;
	visibility: visible !important;
}


/* =========================================================
   Floating taalkeuze CTA - v2.0.161
   Beide taalbuttons zijn volwaardige inschrijf-CTA's met dezelfde kleur.
   Op mobiel krijgt de WhatsApp-knop extra ruimte boven de hogere taalkaart.
========================================================= */
.hh-course-floating-cta--language-hub .hh-course-floating-cta__variant-links .hh-course-floating-cta__button {
	background: var(--hh-course-accent) !important;
	color: #f6f7f9 !important;
	border: 0 !important;
	border-bottom: 4px solid rgba(0, 0, 0, .22) !important;
}

.hh-course-floating-cta--language-hub .hh-course-floating-cta__variant-links .hh-course-floating-cta__button:hover,
.hh-course-floating-cta--language-hub .hh-course-floating-cta__variant-links .hh-course-floating-cta__button:focus {
	background: var(--hh-course-accent) !important;
	color: #f6f7f9 !important;
	box-shadow: none !important;
}

@media (max-width: 700px) {
	.hh-course-floating-cta--language-hub .hh-course-floating-cta__variant-links {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.hh-course-floating-cta--language-hub .hh-course-floating-cta__button {
		min-height: 50px;
		font-size: 13px;
	}

	body.single-product:has(.hh-course-floating-cta--language-hub.is-visible) .hh-whatsapp-float {
		bottom: 196px;
		bottom: calc(186px + max(10px, env(safe-area-inset-bottom)));
	}
}

/* =========================================================
   Floating taalkeuze CTA - v2.0.162
   Compacte taal + prijs CTA voor de centrale Sociale Hygiëne- en HACCP-pagina.
   Dezelfde inhoud en hiërarchie op desktop en mobiel.
========================================================= */
.hh-course-floating-cta--language-hub .hh-course-floating-cta__variant-links .hh-course-floating-cta__button {
	display: flex;
	justify-content: space-between;
	gap: 14px;
	padding-left: 18px;
	padding-right: 18px;
	text-align: left;
}

.hh-course-floating-cta--language-hub .hh-course-floating-cta__button-language {
	font-size: 15px;
	font-weight: 900;
	line-height: 1.1;
}

.hh-course-floating-cta--language-hub .hh-course-floating-cta__button-price,
.hh-course-floating-cta--language-hub .hh-course-floating-cta__button-price .woocommerce-Price-amount,
.hh-course-floating-cta--language-hub .hh-course-floating-cta__button-price .woocommerce-Price-currencySymbol {
	color: inherit !important;
	font-size: 15px;
	font-weight: 900;
	line-height: 1.1;
	white-space: nowrap;
}

@media (max-width: 700px) {
	.hh-course-floating-cta--language-hub .hh-course-floating-cta__button {
		min-height: 48px;
		padding-left: 16px;
		padding-right: 16px;
	}

	.hh-course-floating-cta--language-hub .hh-course-floating-cta__button-language,
	.hh-course-floating-cta--language-hub .hh-course-floating-cta__button-price,
	.hh-course-floating-cta--language-hub .hh-course-floating-cta__button-price .woocommerce-Price-amount,
	.hh-course-floating-cta--language-hub .hh-course-floating-cta__button-price .woocommerce-Price-currencySymbol {
		font-size: 14px;
	}
}

/* =========================================================
   Floating taalkeuze polish - v2.0.163
   Meer lucht tussen de uitleg en de taalbuttons op desktop.
   WhatsApp op mobiel dichter tegen de sticky taalkeuze aan.
========================================================= */
@media (min-width: 1101px) {
	.hh-course-floating-cta--language-hub .hh-course-floating-cta__helper {
		float: none;
		max-width: none;
		margin: 0 0 14px;
	}

	.hh-course-floating-cta--language-hub .hh-course-floating-cta__variant-links {
		clear: both;
	}
}

@media (max-width: 700px) {
	body.single-product:has(.hh-course-floating-cta--language-hub.is-visible) .hh-whatsapp-float {
		bottom: 148px;
		bottom: calc(138px + max(10px, env(safe-area-inset-bottom)));
	}
}

/* =========================================================
   WPBakery Image Carousel polish - v2.0.164
   Afgeronde carousel + HorecaHero bullets, zonder glow.
========================================================= */
.single-product .vc_images_carousel .vc_carousel-inner,
.single-product .vc_images_carousel .vc_carousel-slideline,
.single-product .vc_images_carousel .vc_carousel-slideline-inner {
	border-radius: 24px;
	overflow: hidden;
}

.single-product .vc_images_carousel .vc_item,
.single-product .vc_images_carousel .vc_inner,
.single-product .vc_images_carousel img {
	border-radius: 24px;
}

.single-product .vc_images_carousel img {
	display: block;
	width: 100%;
}

.single-product .vc_images_carousel .vc_carousel-indicators {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	left: 0;
	right: 0;
	width: auto;
	margin-left: 0;
}

.single-product .vc_images_carousel .vc_carousel-indicators li {
	box-sizing: border-box;
	width: 12px;
	height: 12px;
	margin: 0 !important;
	border: 2px solid #01454e !important;
	border-radius: 999px !important;
	background: #fff !important;
	opacity: 1 !important;
	box-shadow: none !important;
	filter: none !important;
	transition: width .18s ease, background-color .18s ease;
}

.single-product .vc_images_carousel .vc_carousel-indicators li.vc_active,
.single-product .vc_images_carousel .vc_carousel-indicators li.active {
	width: 28px;
	background: #e5ff00 !important;
	border-color: #01454e !important;
	box-shadow: none !important;
	filter: none !important;
}

.single-product .vc_images_carousel .vc_carousel-indicators li:hover,
.single-product .vc_images_carousel .vc_carousel-indicators li:focus {
	box-shadow: none !important;
	filter: none !important;
}

@media (max-width: 700px) {
	.single-product .vc_images_carousel .vc_carousel-inner,
	.single-product .vc_images_carousel .vc_carousel-slideline,
	.single-product .vc_images_carousel .vc_carousel-slideline-inner,
	.single-product .vc_images_carousel .vc_item,
	.single-product .vc_images_carousel .vc_inner,
	.single-product .vc_images_carousel img {
		border-radius: 18px;
	}
}

/* =========================================================
   Incompany floating CTA polish - v2.0.177
   Zelfde rustige onderbouw als de taalhubs: uitleg los boven de CTA.
========================================================= */
@media (min-width: 1101px) {
	.hh-course-floating-cta--incompany .hh-course-floating-cta__bottom {
		display: block;
	}

	.hh-course-floating-cta--incompany .hh-course-floating-cta__helper {
		float: none;
		max-width: none;
		margin: 0 0 14px;
		padding: 0;
		line-height: 1.55;
	}

	.hh-course-floating-cta--incompany .hh-course-floating-cta__button {
		float: none;
		display: flex;
		width: 100%;
		margin: 0;
	}
}

/* =========================================================
   Sociale Hygiëne Incompany floating CTA kleur - v2.0.178
   Alle Sociale Hygiëne CTA's gebruiken de groene cursusaccentkleur.
========================================================= */
.hh-course-product--sociale-hygiene .hh-course-floating-cta__button--outline,
.hh-course-product--sociale-hygiene .hh-course-floating-cta__button--outline:hover,
.hh-course-product--sociale-hygiene .hh-course-floating-cta__button--outline:focus {
	background: var(--hh-course-accent) !important;
	color: #fff !important;
	border-bottom: 4px solid rgba(0, 0, 0, .22) !important;
	box-shadow: none !important;
}


/* =========================================================
   Homepage typed hero op mobiel - v2.0.179
   De cursusnamen typen nu op alle schermformaten. Reduced-motion blijft gerespecteerd.
========================================================= */


/* =========================================================
   Productpagina: snelle cursuswisselaar - v2.0.180
   ========================================================= */
.hh-course-switcher-trigger {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	min-height: 44px;
	margin: 22px 0 0;
	padding: 0 15px;
	border: 1px solid rgba(255, 255, 255, .28);
	border-radius: 999px;
	background: rgba(255, 255, 255, .09);
	color: #fff;
	font: inherit;
	font-size: 13px;
	font-weight: 800;
	line-height: 1;
	cursor: pointer;
	transition: background .18s ease, border-color .18s ease, transform .18s ease;
}

.hh-course-switcher-trigger:hover,
.hh-course-switcher-trigger:focus-visible {
	border-color: rgba(255, 255, 255, .52);
	background: rgba(255, 255, 255, .16);
	color: #fff;
	transform: translateY(-1px);
	outline: none;
}

.hh-course-switcher-trigger__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 23px;
	height: 23px;
}

.hh-course-switcher-trigger__icon svg {
	display: block;
	width: 19px;
	height: 19px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
}

.hh-course-switcher-trigger__arrow {
	margin-left: 2px;
	font-size: 17px;
	line-height: 1;
}

.hh-course-switcher-modal {
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity .22s ease, visibility .22s ease;
}

.hh-course-switcher-modal.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.hh-course-switcher-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 45, 50, .72);
	-webkit-backdrop-filter: blur(5px);
	backdrop-filter: blur(5px);
}

.hh-course-switcher-modal__dialog {
	position: relative;
	z-index: 2;
	width: min(720px, 100%);
	max-height: calc(100vh - 48px);
	overflow: auto;
	padding: 32px;
	border: 1px solid rgba(1, 69, 78, .16);
	border-radius: 24px;
	background: #fbf7f1;
	color: #111;
	transform: translateY(14px) scale(.985);
	transition: transform .22s ease;
}

.hh-course-switcher-modal.is-open .hh-course-switcher-modal__dialog {
	transform: translateY(0) scale(1);
}

.hh-course-switcher-modal__dialog:focus {
	outline: none;
}

.hh-course-switcher-modal__close {
	position: absolute;
	right: 18px;
	top: 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	padding: 0;
	border: 1px solid rgba(1, 69, 78, .16);
	border-radius: 50%;
	background: #fff;
	color: var(--primary-color, #01454e);
	font-size: 25px;
	font-weight: 400;
	line-height: 1;
	cursor: pointer;
}

.hh-course-switcher-modal__close:hover,
.hh-course-switcher-modal__close:focus-visible {
	border-color: var(--primary-color, #01454e);
	outline: none;
}

.hh-course-switcher-modal__eyebrow {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	margin: 0 0 13px;
	padding: 0 11px;
	border-radius: 999px;
	background: #e9eee9;
	color: var(--primary-color, #01454e);
	font-size: 11px;
	font-weight: 900;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: .07em;
}

.hh-course-switcher-modal h2 {
	margin: 0 52px 8px 0;
	color: var(--primary-color, #01454e);
	font-size: clamp(27px, 4vw, 38px);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -.035em;
}

.hh-course-switcher-modal__intro {
	margin: 0 0 24px;
	color: #5d6466;
	font-size: 15px;
	line-height: 1.55;
}

.hh-course-switcher-modal__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.hh-course-switcher-card {
	--hh-switcher-accent: #e5ff00;
	position: relative;
	display: flex;
	align-items: center;
	gap: 14px;
	min-height: 94px;
	padding: 16px 48px 16px 18px;
	border: 1px solid rgba(1, 69, 78, .14);
	border-radius: 17px;
	background: #fff;
	color: #111 !important;
	text-decoration: none !important;
	overflow: hidden;
	transition: border-color .18s ease, transform .18s ease;
}

.hh-course-switcher-card:hover,
.hh-course-switcher-card:focus-visible {
	border-color: var(--hh-switcher-accent);
	color: #111 !important;
	transform: translateY(-2px);
	outline: none;
}

.hh-course-switcher-card__accent {
	flex: 0 0 10px;
	width: 10px;
	height: 52px;
	border-radius: 999px;
	background: var(--hh-switcher-accent);
}

.hh-course-switcher-card__copy {
	display: block;
	min-width: 0;
}

.hh-course-switcher-card__copy strong,
.hh-course-switcher-card__copy small {
	display: block;
}

.hh-course-switcher-card__copy strong {
	margin-bottom: 4px;
	color: #111;
	font-size: 17px;
	font-weight: 800;
	line-height: 1.2;
}

.hh-course-switcher-card__copy small {
	color: #6c7273;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.4;
}

.hh-course-switcher-card__arrow {
	position: absolute;
	right: 18px;
	top: 50%;
	color: var(--primary-color, #01454e);
	font-size: 20px;
	line-height: 1;
	transform: translateY(-50%);
}

.hh-course-switcher-card--sociale-hygiene { --hh-switcher-accent: #06a51b; }
.hh-course-switcher-card--haccp { --hh-switcher-accent: #ac1457; }
.hh-course-switcher-card--horeca-apk { --hh-switcher-accent: #ff8a3d; }
.hh-course-switcher-card--onboarding { --hh-switcher-accent: #ff8a3d; }

.hh-course-switcher-modal__all {
	display: inline-flex;
	margin-top: 22px;
	color: var(--primary-color, #01454e) !important;
	font-size: 13px;
	font-weight: 800;
	text-decoration: underline !important;
	text-underline-offset: 4px;
}

html.hh-course-switcher-is-open {
	overflow: hidden;
}

@media (max-width: 700px) {
	.hh-course-switcher-trigger {
		width: 100%;
		justify-content: center;
		margin-top: 20px;
	}

	.hh-course-switcher-trigger__arrow {
		margin-left: auto;
	}

	.hh-course-switcher-modal {
		align-items: flex-end;
		padding: 12px;
	}

	.hh-course-switcher-modal__dialog {
		width: 100%;
		max-height: calc(100vh - 24px);
		padding: 26px 18px 20px;
		border-radius: 22px;
	}

	.hh-course-switcher-modal__close {
		right: 14px;
		top: 14px;
	}

	.hh-course-switcher-modal__grid {
		grid-template-columns: 1fr;
	}

	.hh-course-switcher-card {
		min-height: 82px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.hh-course-switcher-modal,
	.hh-course-switcher-modal__dialog,
	.hh-course-switcher-trigger,
	.hh-course-switcher-card {
		transition: none !important;
	}
}


/* =========================================================
   HorecaHero v2.0.184 - Cursuswisselaar echt boven alle site-UI
   De modal wordt via JavaScript naar document.body verplaatst zodat hij niet
   langer gevangen zit in een stacking context van de productpagina. Tijdens
   openen dempen we daarnaast expliciet vaste site-elementen.
   ========================================================= */
html.hh-course-switcher-is-open .hh-course-switcher-modal {
	z-index: 2147483647 !important;
}

html.hh-course-switcher-is-open body {
	overflow: hidden;
}

html.hh-course-switcher-is-open .header,
html.hh-course-switcher-is-open header.header,
html.hh-course-switcher-is-open #header,
html.hh-course-switcher-is-open nav#desktop,
html.hh-course-switcher-is-open .toggle-button,
html.hh-course-switcher-is-open .slideout-menu,
html.hh-course-switcher-is-open .post-edit-link,
html.hh-course-switcher-is-open .hh-whatsapp-float,
html.hh-course-switcher-is-open .hh-course-floating-cta {
	z-index: 1 !important;
}

/* =========================================================
   HorecaHero v2.0.185 - globale floating cursuswisselaar
   Buiten homepage, PDP en bestelpagina's staat midden onderin een compacte
   knop die dezelfde cursuswisselaar opent met alle hoofdtrainingen.
   ========================================================= */
.hh-global-course-switcher-trigger {
	position: fixed;
	left: 50%;
	bottom: 24px;
	z-index: 9997;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	min-height: 50px;
	padding: 0 18px;
	border: 1px solid rgba(1, 69, 78, .18);
	border-bottom: 3px solid rgba(0, 0, 0, .2);
	border-radius: 999px;
	background: var(--primary-color, #01454e);
	color: #fff !important;
	font: inherit;
	font-size: 13px;
	font-weight: 800;
	line-height: 1;
	white-space: nowrap;
	cursor: pointer;
	transform: translateX(-50%);
	transition: transform .18s ease, background-color .18s ease, border-color .18s ease;
}

.hh-global-course-switcher-trigger:hover,
.hh-global-course-switcher-trigger:focus-visible {
	background: #013b43;
	color: #fff !important;
	outline: none;
	transform: translateX(-50%) translateY(-2px);
}

.hh-global-course-switcher-trigger__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	color: #e5ff00;
}

.hh-global-course-switcher-trigger__icon svg {
	display: block;
	width: 18px;
	height: 18px;
	fill: currentColor;
}

html.hh-course-switcher-is-open .hh-global-course-switcher-trigger {
	z-index: 1 !important;
}

@media (max-width: 700px) {
	.hh-global-course-switcher-trigger {
		bottom: calc(14px + env(safe-area-inset-bottom));
		min-height: 48px;
		padding: 0 15px;
		font-size: 12px;
	}

	/* Maak rechts ruimte zodat WhatsApp en de middenknop elkaar niet raken. */
	body.hh-has-global-course-switcher .hh-whatsapp-float {
		right: 14px;
		bottom: calc(14px + env(safe-area-inset-bottom));
		min-width: 50px;
		width: 50px;
		min-height: 50px;
		height: 50px;
		padding: 4px;
		gap: 0;
	}

	body.hh-has-global-course-switcher .hh-whatsapp-float__copy {
		display: none;
	}

	body.hh-has-global-course-switcher .hh-whatsapp-float__icon {
		flex: 0 0 40px;
		width: 40px;
		height: 40px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.hh-global-course-switcher-trigger {
		transition: none !important;
	}
}


/* =========================================================
   HorecaHero e-learning demo - v2.0.188
   Sitebrede Easygenerator-demo. Het iframe wordt pas geladen na een klik,
   zodat de demo geen invloed heeft op de normale paginalaad.
   ========================================================= */
.hh-elearning-demo-modal {
	position: fixed;
	inset: 0;
	z-index: 2147483647;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 22px;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity .22s ease, visibility .22s ease;
}

.hh-elearning-demo-modal.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.hh-elearning-demo-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 45, 50, .78);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}

.hh-elearning-demo-modal__dialog {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	width: min(1500px, 96vw);
	height: min(920px, 93vh);
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, .18);
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 30px 90px rgba(0, 0, 0, .28);
	transform: translateY(12px) scale(.992);
	transition: transform .22s ease;
}

.hh-elearning-demo-modal.is-open .hh-elearning-demo-modal__dialog {
	transform: translateY(0) scale(1);
}

.hh-elearning-demo-modal__dialog:focus {
	outline: none;
}

.hh-elearning-demo-modal__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 22px;
	min-height: 76px;
	padding: 14px 18px 14px 22px;
	border-bottom: 1px solid #e8eeee;
	background: #fff;
}

.hh-elearning-demo-modal__title {
	min-width: 0;
}

.hh-elearning-demo-modal__title strong,
.hh-elearning-demo-modal__title span {
	display: block;
}

.hh-elearning-demo-modal__title strong {
	margin: 0 0 3px;
	color: var(--primary-color, #01454e);
	font-size: 17px;
	font-weight: 800;
	line-height: 1.2;
}

.hh-elearning-demo-modal__title span {
	color: #6b7475;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.35;
}

.hh-elearning-demo-modal__tools {
	display: flex;
	align-items: center;
	gap: 10px;
	flex: 0 0 auto;
}

.hh-elearning-demo-modal__external {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--primary-color, #01454e) !important;
	font-size: 12px;
	font-weight: 800;
	text-decoration: none !important;
}

.hh-elearning-demo-modal__external:hover,
.hh-elearning-demo-modal__external:focus-visible {
	text-decoration: underline !important;
	text-underline-offset: 3px;
	outline: none;
}

.hh-elearning-demo-modal__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	padding: 0;
	border: 1px solid #d8e1e1;
	border-radius: 50%;
	background: #fff;
	color: var(--primary-color, #01454e);
	font-size: 28px;
	font-weight: 400;
	line-height: 1;
	cursor: pointer;
}

.hh-elearning-demo-modal__close:hover,
.hh-elearning-demo-modal__close:focus-visible {
	border-color: var(--primary-color, #01454e);
	outline: none;
}

.hh-elearning-demo-modal__body {
	position: relative;
	flex: 1 1 auto;
	min-height: 0;
	background: #f4f7f7;
}

.hh-elearning-demo-modal__body iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
	background: #fff;
}

.hh-elearning-demo-modal__loading {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	color: var(--primary-color, #01454e);
	font-size: 14px;
	font-weight: 800;
	pointer-events: none;
}

.hh-elearning-demo-modal__body.is-loaded .hh-elearning-demo-modal__loading {
	display: none;
}

html.hh-elearning-demo-is-open,
html.hh-elearning-demo-is-open body {
	overflow: hidden;
}

html.hh-elearning-demo-is-open .header,
html.hh-elearning-demo-is-open header.header,
html.hh-elearning-demo-is-open #header,
html.hh-elearning-demo-is-open nav#desktop,
html.hh-elearning-demo-is-open .toggle-button,
html.hh-elearning-demo-is-open .slideout-menu,
html.hh-elearning-demo-is-open .post-edit-link,
html.hh-elearning-demo-is-open .hh-whatsapp-float,
html.hh-elearning-demo-is-open .hh-global-course-switcher-trigger,
html.hh-elearning-demo-is-open .hh-course-floating-cta {
	z-index: 1 !important;
}

/* Hero-acties op cursusproductpagina's netjes op één horizontale lijn. */
.hh-course-hero__actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 22px;
}

.hh-course-hero__actions .hh-course-switcher-trigger,
.hh-course-hero__actions .hh-course-elearning-demo-link {
	margin-top: 0;
}

/* Subtiele demo-link in de hero van cursusproductpagina's. */
.hh-course-elearning-demo-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 21px 0 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: rgba(255, 255, 255, .9);
	font: inherit;
	font-size: 13px;
	font-weight: 750;
	line-height: 1.3;
	text-decoration: none;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
	transition: color .18s ease;
}

.hh-course-elearning-demo-link:hover,
.hh-course-elearning-demo-link:focus-visible {
	color: #fff;
	outline: none;
}

.hh-course-elearning-demo-link__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border: 1px solid rgba(255, 255, 255, .32);
	border-radius: 50%;
	font-size: 9px;
	line-height: 1;
	text-decoration: none;
}

.hh-course-elearning-demo-link__icon svg {
	display: block;
	width: 8px;
	height: 10px;
	margin-left: 1px;
	fill: currentColor;
}

.hh-course-elearning-demo-link__label {
	text-decoration: underline;
	text-decoration-color: rgba(255, 255, 255, .38);
	text-underline-offset: 4px;
	transition: text-decoration-color .18s ease;
}

.hh-course-elearning-demo-link:hover .hh-course-elearning-demo-link__label,
.hh-course-elearning-demo-link:focus-visible .hh-course-elearning-demo-link__label {
	text-decoration-color: #fff;
}

/* Shortcode/losse CTA voor gebruik in WPBakery of gewone content. */
.hh-elearning-demo-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 48px;
	padding: 0 20px;
	border: 0;
	border-radius: 10px;
	background: var(--primary-color, #01454e);
	color: #fff !important;
	font: inherit;
	font-size: 14px;
	font-weight: 800;
	line-height: 1;
	text-decoration: none !important;
	cursor: pointer;
}

.hh-elearning-demo-button:hover,
.hh-elearning-demo-button:focus-visible {
	background: var(--primary-color, #01454e);
	color: #fff !important;
	opacity: .92;
	outline: none;
}

@media (max-width: 700px) {
	.hh-course-hero__actions {
		display: flex;
		align-items: stretch;
		flex-direction: column;
		gap: 14px;
		margin-top: 20px;
	}

	.hh-course-hero__actions .hh-course-switcher-trigger,
	.hh-course-hero__actions .hh-course-elearning-demo-link {
		margin-top: 0;
	}

	.hh-elearning-demo-modal {
		align-items: stretch;
		padding: 0;
	}

	.hh-elearning-demo-modal__dialog {
		width: 100%;
		height: 100%;
		max-width: none;
		max-height: none;
		border: 0;
		border-radius: 0;
	}

	.hh-elearning-demo-modal__header {
		min-height: 66px;
		padding: 10px 12px 10px 15px;
		gap: 10px;
	}

	.hh-elearning-demo-modal__title strong {
		font-size: 15px;
	}

	.hh-elearning-demo-modal__title span {
		font-size: 11px;
	}

	.hh-elearning-demo-modal__external {
		display: none;
	}

	.hh-elearning-demo-modal__close {
		width: 40px;
		height: 40px;
		flex-basis: 40px;
	}

	.hh-course-elearning-demo-link {
		margin-top: 20px;
		font-size: 13px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.hh-elearning-demo-modal,
	.hh-elearning-demo-modal__dialog,
	.hh-course-elearning-demo-link {
		transition: none !important;
	}
}

/* =========================================================
   Homepage mobiele CTA spacing - v2.0.198
   ========================================================= */
@media (max-width: 820px) {
	body.cursusaanbod .hh-offer-hero a.mobile-cta-button {
		margin: 24px 10px 0;
	}

	body.cursusaanbod .hh-offer-hero .google-review {
		margin-top: 24px;
	}
}


/* =========================================================
   Homepage mobiele hero compacter - v2.0.199
   ========================================================= */
@media (max-width: 820px) {
	body.cursusaanbod .hh-offer-hero .hh-offer-benefits {
		margin-top: 5px;
	}

	body.cursusaanbod .hh-offer-hero .hh-course-filter-wrap {
		margin-top: 8px;
	}
}

/* =========================================================
   Zoekresultaten - v2.0.204
   ========================================================= */
body.search .wrapper {
	background: #f7f3ea;
}

.hh-search-page {
	float: left;
	width: 100%;
	padding: 52px 20px 80px;
	background: #f7f3ea;
	color: #183239;
}

.hh-search-page__container {
	width: 100%;
	max-width: 1080px;
	margin: 0 auto;
}

.hh-search-page__intro {
	width: 100%;
	max-width: none;
	margin: 0 0 34px;
}

.hh-search-page__eyebrow {
	display: inline-block;
	margin-bottom: 8px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--primary-color);
}

.hh-search-page__intro h1 {
	margin: 0;
	font-size: clamp(32px, 4vw, 54px);
	line-height: 1.08;
	letter-spacing: -.035em;
	color: #102f34;
}

.hh-search-page__intro h1 span {
	color: var(--primary-color);
}

.hh-search-page__count {
	margin: 13px 0 24px;
	font-size: 16px;
	line-height: 1.6;
	color: #687273;
}

.hh-search-page__form {
	display: flex;
	align-items: stretch;
	width: 100%;
	max-width: none;
	padding: 5px;
	border: 1px solid #d7dcda;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 3px 0 rgba(1, 69, 78, .04);
}

.hh-search-page__form input[type="search"] {
	min-width: 0;
	width: 100%;
	height: 48px;
	padding: 0 16px;
	border: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
	border-radius: 8px;
	font-size: 15px;
	color: #183239;
	background: transparent;
}

.hh-search-page__form input[type="search"]::placeholder {
	color: #8c9595;
}

.hh-search-page__form button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-width: 124px;
	height: 48px;
	padding: 0 18px;
	border: 0;
	border-radius: 9px;
	font-size: 14px;
	font-weight: 700;
	color: #062f35;
	background: #35e98a;
	cursor: pointer;
	transition: transform .18s ease, background .18s ease;
}

.hh-search-page__form button:hover {
	transform: translateY(-1px);
	background: #4bf099;
}

.hh-search-results {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 15px;
}

.hh-search-result {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
	padding: 26px 28px;
	border: 1px solid #dedfdc;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 3px 0 rgba(1, 69, 78, .05);
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.hh-search-result:hover {
	transform: translateY(-2px);
	border-color: rgba(1, 69, 78, .22);
	box-shadow: 0 10px 24px rgba(1, 69, 78, .07);
}

.hh-search-result__meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 9px 12px;
	margin-bottom: 10px;
	font-size: 12px;
	color: #7a8282;
}

.hh-search-result__type {
	display: inline-flex;
	align-items: center;
	min-height: 27px;
	padding: 4px 10px;
	border-radius: 999px;
	font-weight: 700;
	color: #01454e;
	background: rgba(53, 233, 138, .17);
}

.hh-search-result h2 {
	margin: 0 0 9px;
	font-size: clamp(21px, 2vw, 27px);
	line-height: 1.24;
	letter-spacing: -.02em;
}

.hh-search-result h2 a {
	color: #102f34;
	text-decoration: none;
}

.hh-search-result h2 a:hover {
	color: var(--primary-color);
}

.hh-search-result > p {
	max-width: 800px;
	margin: 0 0 17px;
	font-size: 14px;
	line-height: 1.65;
	color: #667071;
}

.hh-search-result__link {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 14px;
	font-weight: 700;
	color: var(--primary-color);
	text-decoration: none;
}

.hh-search-result__link span {
	transition: transform .2s ease;
}

.hh-search-result__link:hover span {
	transform: translateX(3px);
}

.hh-search-pagination {
	width: 100%;
	max-width: none;
	margin-top: 36px;
}

.hh-search-pagination ul {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.hh-search-pagination li {
	margin: 0;
}

.hh-search-pagination a,
.hh-search-pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	padding: 0 14px;
	border: 1px solid #d7dcda;
	border-radius: 9px;
	font-size: 13px;
	font-weight: 700;
	color: #01454e;
	background: #fff;
	text-decoration: none;
}

.hh-search-pagination a:hover,
.hh-search-pagination .current {
	border-color: var(--primary-color);
	color: #35e98a;
	background: var(--primary-color);
}

.hh-search-empty {
	display: flex;
	align-items: flex-start;
	gap: 18px;
	max-width: 760px;
	padding: 28px;
	border: 1px solid #dedfdc;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 3px 0 rgba(1, 69, 78, .05);
}

.hh-search-empty__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 54px;
	width: 54px;
	height: 54px;
	border-radius: 50%;
	color: #01454e;
	background: rgba(53, 233, 138, .17);
}

.hh-search-empty h2 {
	margin: 0 0 7px;
	font-size: 24px;
	color: #102f34;
}

.hh-search-empty p {
	margin: 0 0 17px;
	font-size: 14px;
	line-height: 1.6;
	color: #667071;
}

.hh-search-empty__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0 16px;
	border-radius: 8px;
	font-size: 13px;
	font-weight: 700;
	color: #062f35;
	background: #35e98a;
	text-decoration: none;
}

@media only screen and (max-width: 640px) {
	.hh-search-page {
		padding: 35px 16px 55px;
	}

	.hh-search-page__intro {
		margin-bottom: 25px;
	}

	.hh-search-page__intro h1 {
		font-size: 32px;
	}

	.hh-search-page__count {
		margin: 10px 0 18px;
		font-size: 15px;
	}

	.hh-search-page__form {
		padding: 4px;
	}

	.hh-search-page__form input[type="search"] {
		height: 46px;
		padding: 0 12px;
	}

	.hh-search-page__form button {
		min-width: 48px;
		width: 48px;
		height: 46px;
		padding: 0;
	}

	.hh-search-page__form button span {
		display: none;
	}

	.hh-search-result {
		padding: 21px 19px;
	}

	.hh-search-result h2 {
		font-size: 21px;
	}

	.hh-search-empty {
		padding: 22px 19px;
	}
}


/* =========================================================
   Header live search - v2.0.205
   ========================================================= */
.hh-header-search {
	position: relative;
	z-index: 9999999999998;
	float: right;
	margin: 0 0 0 0;
	padding: 10px 0 0;
	color: #fff;
}

.hh-header-search__button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 45px;
	height: 45px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 10px;
	background: transparent;
	color: #fff;
	cursor: pointer;
	box-shadow: none !important;
	transition: opacity .2s ease, transform .2s ease;
}

.hh-header-search__button svg {
	display: block;
	/* v2.0.211: vergrootglas visueel 80% van de hamburgergrootte.
	   De 45px klikzone blijft behouden voor een prettige touch target. */
	width: 36px;
	height: 36px;
}

.hh-header-search__button:hover,
.hh-header-search__button:focus-visible {
	opacity: .82;
	transform: scale(1.04);
	background: transparent;
}

.hh-header-search__button:focus-visible {
	outline: 2px solid #35e98a;
	outline-offset: 2px;
}

.hh-live-search-modal {
	position: fixed;
	inset: 0;
	z-index: 2147483647;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 28px;
}

.hh-live-search-modal.is-visible {
	display: flex;
}

.hh-live-search-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 55, 60, .76);
	-webkit-backdrop-filter: blur(5px);
	backdrop-filter: blur(5px);
}

.hh-live-search-modal__panel {
	position: relative;
	z-index: 2;
	width: min(780px, 100%);
	max-height: calc(100vh - 56px);
	overflow-y: auto;
	padding: 36px;
	border: 1px solid #dce5e4;
	border-radius: 30px;
	background: #fff;
	color: #073f43;
	box-shadow: 0 28px 80px rgba(0, 35, 40, .2);
}

.hh-live-search-modal__close {
	position: absolute;
	top: 18px;
	right: 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #f1f5f4;
	color: #073f43;
	font: inherit;
	font-size: 30px;
	font-weight: 400;
	line-height: 1;
	cursor: pointer;
	box-shadow: none !important;
}

.hh-live-search-modal__close:hover,
.hh-live-search-modal__close:focus-visible {
	background: #e9efee;
	outline: 2px solid #35e98a;
	outline-offset: 2px;
}

.hh-live-search-modal__eyebrow {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	margin: 0 0 14px;
	padding: 5px 12px;
	border-radius: 999px;
	background: #eaffef;
	color: #009d42;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.hh-live-search-modal h2 {
	margin: 0;
	padding-right: 48px;
	color: #073f43;
	font-size: clamp(30px, 4vw, 42px);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -.035em;
}

.hh-live-search-modal__intro {
	max-width: 600px;
	margin: 12px 0 24px;
	color: #617071;
	font-size: 16px;
	line-height: 1.55;
}

.hh-live-search-modal__form {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	padding: 5px;
	border: 1px solid #d7dcda;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 3px 0 rgba(1, 69, 78, .04);
}

.hh-live-search-modal__input-icon {
	position: absolute;
	left: 19px;
	top: 50%;
	z-index: 2;
	transform: translateY(-50%);
	color: #01454e;
	pointer-events: none;
}

.hh-live-search-modal__form input[type="search"] {
	min-width: 0;
	width: 100%;
	height: 52px;
	padding: 0 16px 0 48px;
	border: 0 !important;
	border-radius: 9px;
	outline: 0 !important;
	background: transparent;
	box-shadow: none !important;
	color: #183239;
	font-size: 16px;
}

.hh-live-search-modal__form input[type="search"]::placeholder {
	color: #8c9595;
}

.hh-live-search-modal__form button[type="submit"] {
	flex: 0 0 auto;
	min-width: 112px;
	height: 52px;
	padding: 0 18px;
	border: 0;
	border-radius: 10px;
	background: #35e98a;
	color: #062f35;
	font-size: 14px;
	font-weight: 800;
	cursor: pointer;
	box-shadow: none !important;
}

.hh-live-search-modal__form button[type="submit"]:hover,
.hh-live-search-modal__form button[type="submit"]:focus-visible {
	background: #4bf099;
}

.hh-live-search-modal__status {
	position: relative;
	min-height: 21px;
	margin: 14px 2px 8px;
	padding-left: 0;
	color: #778182;
	font-size: 13px;
	line-height: 1.5;
}

.hh-live-search-modal__status.is-loading {
	padding-left: 22px;
}

.hh-live-search-modal__status.is-loading::before {
	content: "";
	position: absolute;
	left: 1px;
	top: 2px;
	width: 12px;
	height: 12px;
	border: 2px solid #d9e3e2;
	border-top-color: #01454e;
	border-radius: 50%;
	animation: hhSearchSpin .7s linear infinite;
}

@keyframes hhSearchSpin {
	to { transform: rotate(360deg); }
}

.hh-live-search-modal__results {
	display: grid;
	gap: 8px;
	margin-top: 4px;
}

.hh-live-search-result {
	position: relative;
	display: block;
	min-width: 0;
	padding: 15px 54px 15px 16px;
	border: 1px solid #e0e5e3;
	border-radius: 14px;
	background: #fff;
	color: #073f43 !important;
	text-decoration: none !important;
	transition: border-color .18s ease, background .18s ease, transform .18s ease;
}

.hh-live-search-result:hover,
.hh-live-search-result:focus-visible {
	border-color: rgba(1, 69, 78, .28);
	background: #f9fcfb;
	transform: translateY(-1px);
}

.hh-live-search-result:focus-visible {
	outline: 2px solid #35e98a;
	outline-offset: 2px;
}

.hh-live-search-result__meta {
	display: flex;
	align-items: center;
	margin-bottom: 5px;
}

.hh-live-search-result__type {
	display: inline-flex;
	align-items: center;
	min-height: 23px;
	padding: 3px 8px;
	border-radius: 999px;
	background: rgba(53, 233, 138, .17);
	color: #01454e;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .02em;
	text-transform: uppercase;
}

.hh-live-search-result h3 {
	margin: 0 0 4px;
	color: #073f43;
	font-size: 17px;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: -.015em;
}

.hh-live-search-result p {
	margin: 0;
	color: #6b7778;
	font-size: 12px;
	line-height: 1.48;
}

.hh-live-search-result__arrow {
	position: absolute;
	right: 18px;
	top: 50%;
	transform: translateY(-50%);
	color: #01454e;
	font-size: 22px;
	font-weight: 700;
	transition: transform .18s ease;
}

.hh-live-search-result:hover .hh-live-search-result__arrow {
	transform: translate(3px, -50%);
}

.hh-live-search-modal__all {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 16px;
	color: #01454e !important;
	font-size: 14px;
	font-weight: 800;
	text-decoration: none !important;
}

.hh-live-search-modal__all[hidden] {
	display: none !important;
}

.hh-live-search-modal__all span {
	transition: transform .18s ease;
}

.hh-live-search-modal__all:hover span {
	transform: translateX(3px);
}

body.hh-search-modal-open {
	overflow: hidden;
}

body.hh-search-modal-open .header,
body.hh-search-modal-open header.header,
body.hh-search-modal-open #header,
body.hh-search-modal-open nav#desktop,
body.hh-search-modal-open .toggle-button,
body.hh-search-modal-open .hh-header-search,
body.hh-search-modal-open .slideout-menu,
body.hh-search-modal-open .post-edit-link {
	z-index: 1 !important;
}

@media (max-width: 680px) {
	.hh-live-search-modal {
		align-items: flex-start;
		padding: 16px;
	}

	.hh-live-search-modal__panel {
		max-height: calc(100vh - 32px);
		padding: 28px 18px 22px;
		border-radius: 24px;
	}

	.hh-live-search-modal h2 {
		font-size: 30px;
	}

	.hh-live-search-modal__intro {
		margin-bottom: 18px;
		font-size: 15px;
	}

	.hh-live-search-modal__form input[type="search"] {
		height: 50px;
		padding-left: 45px;
		font-size: 15px;
	}

	.hh-live-search-modal__form button[type="submit"] {
		display: none;
	}

	.hh-live-search-result {
		padding: 13px 42px 13px 14px;
	}

	.hh-live-search-result h3 {
		font-size: 16px;
	}

	.hh-live-search-result p {
		display: none;
	}

	.hh-live-search-result__arrow {
		right: 14px;
	}
}


/* =========================================================
   Zoekfixes - v2.0.206
   ========================================================= */
.hh-search-page__intro,
.hh-search-page__intro h1,
.hh-search-page__intro .hh-search-page__count {
	text-align: left !important;
}

/* De toegankelijkheidslabel blijft beschikbaar voor screenreaders,
   maar mag visueel nooit naast het vergrootglas verschijnen. */
.hh-live-search-modal .screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.hh-live-search-modal__status {
	min-height: 0;
	margin: 12px 0 10px;
	padding: 9px 12px;
	border-left: 3px solid #35e98a;
	border-radius: 9px;
	background: #f3f8f6;
	color: #526467;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.45;
}

.hh-live-search-modal__status[hidden] {
	display: none !important;
}

.hh-live-search-modal__status.is-loading {
	padding-left: 34px;
	color: #01454e;
	background: #eef9f4;
}

.hh-live-search-modal__status.is-loading::before {
	left: 12px;
	top: 50%;
	width: 11px;
	height: 11px;
	margin-top: -7px;
}

.hh-live-search-modal__status.is-success {
	border-left-color: #35e98a;
	background: #f2fbf7;
	color: #01454e;
}

.hh-live-search-modal__status.is-error {
	border-left-color: #c63d80;
	background: #fff4f8;
	color: #84335d;
}

.hh-live-search-modal__status.is-info {
	border-left-color: #b9d8d2;
	background: #f5f8f7;
}

/* =========================================================
   Zoekpopup zonder live resultaten - v2.0.207
   ========================================================= */
.hh-live-search-modal__form {
    margin-bottom: 0;
}


/* =========================================================
   Zoekpopup mobiele submitknop - v2.0.208
   Op mobiel was de submitknop verborgen. Zonder live search
   moet de normale zoekactie daar juist expliciet zichtbaar zijn.
   ========================================================= */
@media (max-width: 680px) {
	.hh-live-search-modal__form {
		flex-wrap: wrap;
		align-items: center;
		padding: 5px;
	}

	.hh-live-search-modal__form input[type="search"] {
		flex: 1 1 100%;
		width: 100%;
		padding-right: 14px;
	}

	.hh-live-search-modal__form button[type="submit"] {
		display: flex !important;
		align-items: center;
		justify-content: center;
		width: 100%;
		min-width: 0;
		height: 48px;
		margin-top: 5px;
		border-radius: 10px;
		font-size: 15px;
	}
}


/* =========================================================
   Zoekpopup mobiel icoonpositie - v2.0.209
   Nu het formulier op mobiel uit twee regels bestaat (input +
   submitknop), mag het absolute vergrootglas niet meer op 50%
   van de volledige formhoogte staan. Het icoon wordt daarom
   exact gecentreerd in de zoekinput zelf.
   ========================================================= */
@media (max-width: 680px) {
    .hh-live-search-modal__input-icon {
        top: 30px;
        left: 19px;
        transform: translateY(-50%);
    }
}
