/* onScreen Elementen Blox — OS Header
 * Breakpoints volgen Elementor-defaults: tablet ≤1024, mobiel ≤767.
 * Kleuren via CSS-variabelen die het widget zet (--osb-bg, --osb-color, ...).
 */

.elementor-widget-osb_header {
	position: relative;
	z-index: 100;
}
.elementor-widget-osb_header > .elementor-widget-container {
	position: static;
}

.osb-header {
	--osb-h: 90px;
	--osb-bg: #fff;
	--osb-color: #1d1d1f;
	--osb-bg-t: transparent;
	--osb-color-t: #fff;
	--osb-top: 0px;

	position: relative;
	width: 100%;
	background: var(--osb-bg);
	color: var(--osb-color);
	transition: background-color .25s ease, color .25s ease, transform .3s ease, box-shadow .25s ease;
	z-index: 100;
}
.osb-header__spacer {
	height: var(--osb-h);
}

/* Vastgezet / absoluut (alleen frontend) */
.osb-header--fixed {
	position: fixed;
	top: var(--osb-top);
	left: 0;
	right: 0;
}
.osb-header--absolute {
	position: absolute;
	top: var(--osb-top);
	left: 0;
	right: 0;
}
.osb-header--sticky-up.is-hidden {
	transform: translateY(-100%);
}
body.admin-bar .osb-header--adminbar.osb-header--fixed,
body.admin-bar .osb-header--adminbar.osb-header--absolute {
	--osb-top: 32px;
}
@media (max-width: 782px) {
	body.admin-bar .osb-header--adminbar.osb-header--fixed,
	body.admin-bar .osb-header--adminbar.osb-header--absolute {
		--osb-top: 46px;
	}
}

/* Transparante staat */
.osb-header--transparent.is-transparent {
	background: var(--osb-bg-t);
	color: var(--osb-color-t);
}
.osb-logo__light {
	display: none;
}
.osb-header--transparent.is-transparent .osb-logo__light {
	display: inline-flex;
}
.osb-header--transparent.is-transparent .osb-logo__light ~ .osb-logo__default,
.osb-header--transparent.is-transparent .osb-logo__light ~ .osb-logo__text {
	display: none;
}

/* Inhoud */
.osb-header__inner {
	max-width: 100%;
	margin: 0 auto;
	height: var(--osb-h);
	display: flex;
	align-items: stretch;
	box-sizing: border-box;
}
.osb-header__row,
.osb-header__compact {
	flex: 1 1 auto;
	display: flex;
	align-items: center;
	min-width: 0;
	gap: 16px;
}
.osb-header__compact {
	display: none;
}

/* Zichtbaarheid per apparaat (osb-hide-d/-t/-m), geldt in rij, compacte balk en paneel */
@media (min-width: 1025px) {
	.osb-hide-d { display: none !important; }
}
@media (max-width: 1024px) and (min-width: 768px) {
	.osb-hide-t { display: none !important; }
}
@media (max-width: 767px) {
	.osb-hide-m { display: none !important; }
}

/* Zones */
.osb-zone {
	display: flex;
	align-items: center;
	min-width: 0;
	flex: 0 0 auto;
}
.osb-zone--grow {
	flex: 1 1 auto;
}
.osb-zone--spacer {
	flex: 1 1 auto;
}
.osb-zone--align-start  { justify-content: flex-start; }
.osb-zone--align-center { justify-content: center; }
.osb-zone--align-end    { justify-content: flex-end; }
.osb-zone__placeholder {
	font-size: 13px;
	opacity: .6;
	border: 1px dashed currentColor;
	padding: 6px 10px;
	border-radius: 4px;
}

/* Logo */
.osb-logo {
	display: inline-flex;
	align-items: center;
	line-height: 0;
	text-decoration: none;
	color: inherit;
}
.osb-logo__default,
.osb-logo__light {
	display: inline-flex;
	align-items: center;
}
.osb-logo img,
.osb-logo svg {
	display: block;
	height: 48px;
	width: auto;
}
.osb-logo__text {
	font-weight: 700;
	font-size: 22px;
	line-height: 1;
}

/* Menu in de balk */
.osb-menu,
.osb-menu ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.osb-menu--bar,
.osb-menu--inline {
	display: flex;
	align-items: center;
	gap: 28px;
}
.osb-menu--bar > li,
.osb-menu--inline > li {
	position: relative;
}
.osb-menu a {
	color: var(--osb-menu-color, currentColor);
	text-decoration: none;
	display: inline-block;
	transition: color .2s;
}
.osb-menu--bar > li > a,
.osb-menu--inline > li > a {
	position: relative;
	white-space: nowrap;
}
.osb-menu--bar > li > a:hover,
.osb-menu--bar > li > a:focus-visible,
.osb-menu--inline > li > a:hover,
.osb-menu--inline > li > a:focus-visible {
	color: var(--osb-menu-hover, var(--osb-menu-color, currentColor));
}
.osb-menu--bar > li.current-menu-item > a,
.osb-menu--bar > li.current-menu-ancestor > a,
.osb-menu--bar > li.current_page_parent > a,
.osb-menu--inline > li.current-menu-item > a,
.osb-menu--inline > li.current-menu-ancestor > a,
.osb-menu--inline > li.current_page_parent > a {
	color: var(--osb-menu-active, var(--osb-menu-hover, var(--osb-menu-color, currentColor)));
}
/* Onderstreping */
.osb-menu-underline-line .osb-menu--bar > li > a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 2px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .25s ease;
}
.osb-menu-underline-line .osb-menu--bar > li > a:hover::after,
.osb-menu-underline-line .osb-menu--bar > li.current-menu-item > a::after,
.osb-menu-underline-line .osb-menu--bar > li.current-menu-ancestor > a::after {
	transform: scaleX(1);
}
/* Pijltje bij items met submenu */
.osb-menu--bar > li.menu-item-has-children > a::before {
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg) translateY(-2px);
	float: right;
	margin: .55em 0 0 8px;
	opacity: .7;
}

/* Dropdown */
.osb-menu--bar .sub-menu {
	--osb-dd-bg: #fff;
	--osb-dd-color: #1d1d1f;
	--osb-dd-hover-bg: #f3f4f6;
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 220px;
	background: var(--osb-dd-bg);
	color: var(--osb-dd-color);
	padding: 8px 0;
	margin-top: 0;
	border-radius: 8px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, .12);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity .2s ease, transform .2s ease, visibility 0s linear .2s;
	z-index: 20;
}
.osb-menu--bar .sub-menu .sub-menu {
	top: -8px;
	left: 100%;
}
.osb-menu--bar li:hover > .sub-menu,
.osb-menu--bar li:focus-within > .sub-menu,
.osb-menu--bar li.is-open > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	transition-delay: 0s;
}
/* Onzichtbare brug tussen item en dropdown zodat hover niet wegvalt */
.osb-menu--bar > li.menu-item-has-children::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	height: 14px;
}
.osb-menu--bar .sub-menu li {
	position: relative;
}
.osb-menu--bar .sub-menu a {
	display: block;
	padding: 9px 18px;
	color: var(--osb-dd-color);
	white-space: nowrap;
}
.osb-menu--bar .sub-menu a:hover,
.osb-menu--bar .sub-menu a:focus-visible,
.osb-menu--bar .sub-menu li.current-menu-item > a {
	background: var(--osb-dd-hover-bg);
}
/* Dropdown rechts uitlijnen als de zone rechts staat */
.osb-zone--align-end .osb-menu--bar .sub-menu {
	left: auto;
	right: 0;
}
.osb-zone--align-end .osb-menu--bar .sub-menu .sub-menu {
	left: auto;
	right: 100%;
}

/* Knop */
.osb-btn {
	--osb-btn-bw: 2px;
	display: inline-block;
	text-decoration: none;
	line-height: 1.2;
	white-space: nowrap;
	border: var(--osb-btn-bw) solid transparent;
	transition: background-color .2s, color .2s, border-color .2s;
	cursor: pointer;
}
.osb-btn--fill {
	background: var(--osb-btn-bg, #1d1d1f);
	color: var(--osb-btn-color, #fff);
	border-color: var(--osb-btn-bg, #1d1d1f);
}
.osb-btn--fill:hover,
.osb-btn--fill:focus-visible {
	background: var(--osb-btn-bg-h, #444);
	color: var(--osb-btn-color-h, #fff);
	border-color: var(--osb-btn-bg-h, #444);
}
.osb-btn--outline {
	background: transparent;
	color: var(--osb-btn-bg, currentColor);
	border-color: var(--osb-btn-bg, currentColor);
}
.osb-btn--outline:hover,
.osb-btn--outline:focus-visible {
	background: var(--osb-btn-bg-h, currentColor);
	color: var(--osb-btn-color-h, #fff);
	border-color: var(--osb-btn-bg-h, currentColor);
}
.osb-btn--text {
	background: transparent;
	color: var(--osb-btn-bg, currentColor);
	padding-left: 0 !important;
	padding-right: 0 !important;
}
.osb-btn--text:hover,
.osb-btn--text:focus-visible {
	color: var(--osb-btn-bg-h, currentColor);
}
/* In transparante staat volgt een omlijnde/tekstknop de balkkleur */
.osb-header--transparent.is-transparent .osb-btn--outline,
.osb-header--transparent.is-transparent .osb-btn--text {
	color: currentColor;
	border-color: currentColor;
}

/* Icoonlink (bel, mail, socials) */
.osb-link {
	display: inline-flex;
	align-items: center;
	gap: var(--osb-link-gap, 10px);
	text-decoration: none;
	color: var(--osb-link-color, currentColor);
	white-space: nowrap;
	transition: color .2s;
}
.osb-link--icon-after {
	flex-direction: row-reverse;
}
.osb-link--text:hover,
.osb-link--text:focus-visible,
.osb-link--icon:hover,
.osb-link--icon:focus-visible {
	color: var(--osb-link-hover, var(--osb-link-color, currentColor));
}
.osb-link__icon {
	display: inline-flex;
	line-height: 0;
	color: var(--osb-link-icon-color, inherit);
}
.osb-link__icon i {
	font-size: var(--osb-link-icon, 18px);
	line-height: 1;
}
.osb-link__icon svg {
	width: var(--osb-link-icon, 18px);
	height: var(--osb-link-icon, 18px);
	fill: currentColor;
}
/* Knop-varianten: kleuren uit Stijl → Knop, icoon volgt de knoptekst */
.osb-link.osb-btn {
	color: var(--osb-btn-color, #fff);
}
.osb-link.osb-btn--outline {
	color: var(--osb-btn-bg, currentColor);
}
.osb-link.osb-btn .osb-link__icon {
	color: inherit;
}
.osb-panel .osb-zone--link {
	display: block;
}

/* Template-zone */
.osb-template {
	width: 100%;
}
.osb-template .elementor {
	width: 100%;
}

/* ------------------------------------------------------------ */
/* Compact (logo + hamburger)                                    */
/* ------------------------------------------------------------ */
.osb-header__compact-logo {
	flex: 1 1 auto;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	min-width: 0;
}
.osb-header__compact-extra {
	display: flex;
	align-items: center;
	gap: 16px;
	flex: 0 0 auto;
}
.osb-header__compact-extra:empty {
	display: none;
}
.osb-compact-icon-first .osb-header__compact {
	flex-direction: row-reverse;
}

/* Weergave per breakpoint (prefix-classes van Elementor: osb-mode-row / osb-mode-compact, -tablet-, -mobile-) */
.osb-mode-compact .osb-header__row { display: none; }
.osb-mode-compact .osb-header__compact { display: flex; }

@media (max-width: 1024px) {
	.osb-mode-tablet-compact .osb-header__row { display: none; }
	.osb-mode-tablet-compact .osb-header__compact { display: flex; }
	.osb-mode-tablet-row .osb-header__row { display: flex; }
	.osb-mode-tablet-row .osb-header__compact { display: none; }
	.osb-compact-tablet-icon-first .osb-header__compact { flex-direction: row-reverse; }
	.osb-compact-tablet-logo-first .osb-header__compact { flex-direction: row; }
}
@media (max-width: 767px) {
	.osb-mode-mobile-compact .osb-header__row { display: none; }
	.osb-mode-mobile-compact .osb-header__compact { display: flex; }
	.osb-mode-mobile-row .osb-header__row { display: flex; }
	.osb-mode-mobile-row .osb-header__compact { display: none; }
	.osb-compact-mobile-icon-first .osb-header__compact { flex-direction: row-reverse; }
	.osb-compact-mobile-logo-first .osb-header__compact { flex-direction: row; }
}

/* Hamburger — expliciet alles resetten wat een thema op <button> zet */
.osb-header .osb-toggle,
.osb-header .osb-toggle:hover,
.osb-header .osb-toggle:focus,
.osb-header .osb-toggle:active {
	--osb-tg: 30px;
	--osb-tg-w: 2px;
	--osb-tg-bg: transparent;
	-webkit-appearance: none;
	appearance: none;
	background: var(--osb-tg-bg);
	background-image: none;
	border: 0;
	border-radius: 6px;
	box-shadow: none;
	text-shadow: none;
	padding: 6px;
	margin: 0;
	width: auto;
	height: auto;
	min-width: 0;
	min-height: 0;
	cursor: pointer;
	color: var(--osb-tg-color, currentColor);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	line-height: 0;
	font-size: 0;
	text-transform: none;
	transition: background-color .2s, color .2s;
}
.osb-toggle:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
	border-radius: 4px;
}
.osb-toggle__box {
	position: relative;
	width: var(--osb-tg);
	height: var(--osb-tg);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: calc(var(--osb-tg) * .2);
}
.osb-toggle__bar {
	display: block;
	width: 100%;
	height: var(--osb-tg-w);
	background: currentColor;
	border-radius: 2px;
	transition: transform .25s ease, opacity .2s ease;
}
.osb-toggle__dot {
	display: block;
	width: calc(var(--osb-tg) * .22);
	height: calc(var(--osb-tg) * .22);
	border-radius: 50%;
	background: currentColor;
}
.osb-toggle--dots .osb-toggle__box {
	flex-direction: row;
	gap: calc(var(--osb-tg) * .12);
}
.osb-toggle__box--custom svg,
.osb-toggle__box--custom img {
	width: var(--osb-tg);
	height: var(--osb-tg);
	display: block;
}
.osb-toggle__box--custom svg {
	fill: currentColor;
}
/* Animatie naar kruisje */
.osb-toggle-anim-yes .osb-toggle--bars.is-open .osb-toggle__bar:nth-child(1) {
	transform: translateY(calc(var(--osb-tg) * .2 + var(--osb-tg-w))) rotate(45deg);
}
.osb-toggle-anim-yes .osb-toggle--bars.is-open .osb-toggle__bar:nth-child(2) {
	opacity: 0;
	transform: scaleX(0);
}
.osb-toggle-anim-yes .osb-toggle--bars.is-open .osb-toggle__bar:nth-child(3) {
	transform: translateY(calc(-1 * (var(--osb-tg) * .2 + var(--osb-tg-w)))) rotate(-45deg);
}
.osb-toggle-anim-yes .osb-toggle--bars2.is-open .osb-toggle__bar:nth-child(1) {
	transform: translateY(calc(var(--osb-tg) * .1 + var(--osb-tg-w) / 2)) rotate(45deg);
}
.osb-toggle-anim-yes .osb-toggle--bars2.is-open .osb-toggle__bar:nth-child(2) {
	transform: translateY(calc(-1 * (var(--osb-tg) * .1 + var(--osb-tg-w) / 2))) rotate(-45deg);
}

/* ------------------------------------------------------------ */
/* Paneel (ingebouwd)                                            */
/* ------------------------------------------------------------ */
.osb-panel {
	--osb-panel-color: #1d1d1f;
	--osb-close-size: 44px;
	--osb-close-icon: 24px;
	--osb-close-w: 2px;
	--osb-close-offset: 18px;
	--osb-pd-color: rgba(0, 0, 0, .12);
	--osb-pd-w: 1px;
	--osb-pd-style: solid;
	--osb-pd-len: 100%;
	--osb-pd-margin: 0 auto 0 0;
	--osb-pd-space: 10px;
	position: fixed;
	inset: 0;
	z-index: 9999;
	visibility: hidden;
	pointer-events: none;
	color: var(--osb-panel-color);
}
.osb-panel.is-open {
	visibility: visible;
	pointer-events: auto;
}
.osb-panel__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .45);
	opacity: 0;
	transition: opacity .3s ease;
}
.osb-panel.is-open .osb-panel__backdrop {
	opacity: 1;
}
.osb-panel__box {
	position: absolute;
	top: 0;
	bottom: 0;
	background: #fff;
	box-sizing: border-box;
	padding: 80px 32px 40px;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	transition: transform .35s cubic-bezier(.4, 0, .2, 1), opacity .3s ease;
	outline: none;
}
.osb-panel--right .osb-panel__box {
	right: 0;
	width: 360px;
	max-width: 100%;
	transform: translateX(100%);
}
.osb-panel--left .osb-panel__box {
	left: 0;
	width: 360px;
	max-width: 100%;
	transform: translateX(-100%);
}
.osb-panel--overlay .osb-panel__box {
	left: 0;
	right: 0;
	opacity: 0;
	transform: translateY(-12px);
}
.osb-panel.is-open .osb-panel__box {
	transform: none;
	opacity: 1;
}
.osb-panel .osb-panel__close,
.osb-panel .osb-panel__close:hover,
.osb-panel .osb-panel__close:focus,
.osb-panel .osb-panel__close:active {
	--osb-close-bg: transparent;
	position: absolute;
	top: var(--osb-close-offset);
	right: var(--osb-close-offset);
	width: var(--osb-close-size);
	height: var(--osb-close-size);
	min-width: 0;
	min-height: 0;
	-webkit-appearance: none;
	appearance: none;
	background: var(--osb-close-bg);
	background-image: none;
	border: 0;
	border-radius: 50%;
	box-shadow: none;
	cursor: pointer;
	color: inherit;
	padding: 0;
	margin: 0;
	line-height: 0;
	font-size: 0;
	transition: background-color .2s, color .2s;
	z-index: 2;
}
.osb-panel--left .osb-panel__close {
	right: auto;
	left: var(--osb-close-offset);
}
.osb-panel__close:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}
.osb-panel__close-x {
	position: absolute;
	inset: 0;
}
.osb-panel__close-x::before,
.osb-panel__close-x::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: var(--osb-close-icon);
	height: var(--osb-close-w);
	background: currentColor;
	transform: translate(-50%, -50%) rotate(45deg);
}
.osb-panel__close-x::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}
/* Kop van het paneel: logo + sluitknop. Standaard zweeft de sluitknop in de hoek
 * (position: absolute); met osb-close-row staat hij op één rij met het logo. */
.osb-panel__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 28px;
	/* Hoekmodus: de zwevende sluitknop hangt in de padding-zone; de kop-rij
	 * reserveert minimaal zijn hoogte zodat de inhoud eronder begint. */
	min-height: var(--osb-close-size, 44px);
}
.osb-panel__logo {
	display: flex;
	align-items: center;
	line-height: 0;
	min-width: 0;
	flex: 1 1 auto;
}
/* Logo mag niet meeschalen met de flex-rij: vaste hoogte, breedte naar verhouding */
.osb-panel__logo .osb-logo {
	display: block;
	max-width: 100%;
}
.osb-panel__logo .osb-logo__default {
	display: block;
}
.osb-panel__logo img,
.osb-panel__logo svg {
	display: block;
	height: 40px;
	width: auto;
	flex: none;
	max-width: 100%;
	object-fit: contain;
}
.osb-close-row .osb-panel .osb-panel__close {
	position: relative; /* niet static: het kruisje is absoluut t.o.v. de knop */
	top: auto;
	right: auto;
	left: auto;
	flex: 0 0 auto;
	margin-bottom: 0;
}
.osb-close-row.osb-close-side-start .osb-panel__head {
	flex-direction: row-reverse;
}
.osb-close-row .osb-panel__logo {
	flex: 1 1 auto;
}
/* Zonder logo: kruisje alleen op de rij, naar de gekozen kant */
.osb-close-row .osb-panel__head > .osb-panel__close:only-child {
	margin-left: auto;
}
.osb-close-row.osb-close-side-start .osb-panel__head > .osb-panel__close:only-child {
	margin-left: 0;
	margin-right: auto;
}
.osb-panel__logo .osb-logo__light {
	display: none;
}
.osb-panel-align-center .osb-panel__logo {
	justify-content: center;
}

/* Tussenlijnen in het paneelmenu (prefix-class osb-panel-divider-yes) */
.osb-panel-divider-yes .osb-panel .osb-menu--panel {
	gap: 0;
}
.osb-panel-divider-yes .osb-panel .osb-menu--panel > li > a {
	padding-top: var(--osb-pd-space);
	padding-bottom: var(--osb-pd-space);
}
.osb-panel-divider-yes .osb-panel .osb-menu--panel > li:not(:last-child)::after,
.osb-panel-divider-yes.osb-panel-divider-last-yes .osb-panel .osb-menu--panel > li:last-child::after {
	content: "";
	display: block;
	width: var(--osb-pd-len);
	max-width: 100%;
	margin: var(--osb-pd-margin);
	border-top: var(--osb-pd-w) var(--osb-pd-style) var(--osb-pd-color);
}
.osb-panel__content {
	display: flex;
	flex-direction: column;
	gap: 28px;
}
.osb-panel .osb-zone {
	display: block;
	width: 100%;
}
.osb-panel-align-center .osb-panel .osb-zone {
	text-align: center;
}

/* Menu in het paneel */
.osb-menu--panel {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.osb-menu--panel li {
	position: relative;
}
.osb-panel .osb-menu--panel a {
	display: block;
	padding: 6px 0;
	color: var(--osb-panel-menu-color, var(--osb-panel-color));
}
.osb-panel .osb-menu--panel a:hover,
.osb-panel .osb-menu--panel a:focus-visible,
.osb-panel .osb-menu--panel li.current-menu-item > a,
.osb-panel .osb-menu--panel li.current-menu-ancestor > a {
	color: var(--osb-panel-hover, var(--osb-panel-menu-color, var(--osb-panel-color)));
}
.osb-menu--panel .sub-menu {
	display: none;
	padding-left: 16px;
	margin-top: 4px;
}
.osb-menu--panel .sub-menu a {
	font-size: .9em;
	font-weight: 400;
	padding: 4px 0;
}
.osb-menu--panel li.is-open > .sub-menu {
	display: block;
}
.osb-sub-toggle {
	position: absolute;
	top: 0;
	right: 0;
	width: 40px;
	height: 40px;
	appearance: none;
	background: none;
	border: 0;
	cursor: pointer;
	color: inherit;
	padding: 0;
}
.osb-panel-align-center .osb-menu--panel > li > a {
	padding-right: 0;
}
.osb-sub-toggle::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 8px;
	height: 8px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: translate(-50%, -70%) rotate(45deg);
	transition: transform .2s;
}
li.is-open > .osb-sub-toggle::before {
	transform: translate(-50%, -30%) rotate(-135deg);
}
.osb-menu--panel li.menu-item-has-children > a {
	padding-right: 44px;
}
.osb-panel .osb-btn {
	display: inline-block;
}

/* Scroll-lock */
body.osb-no-scroll {
	overflow: hidden;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
	.osb-header,
	.osb-panel__box,
	.osb-panel__backdrop,
	.osb-toggle__bar,
	.osb-menu--bar .sub-menu {
		transition: none;
	}
}
