
.wl-header {
	position: relative;
	width: 100%;
	--wl-icon-hover: #a3737f;
}

.wl-header--sticky {
	position: sticky;
	top: 0;
	z-index: 999;
}

/* ---------------- Ticker ---------------- */

.wl-ticker {
	--wl-ticker-time: 30s;
	display: flex;
	align-items: center;
	overflow: hidden;
	background: var(--wl-rose, #a3737f);
	color: #fff;
	min-height: 34px;
}

.wl-ticker__track {
	display: flex;
	width: max-content;
	animation: wl-ticker-run var(--wl-ticker-time) linear infinite;
}

.wl-ticker[data-direction="right"] .wl-ticker__track {
	animation-direction: reverse;
}

.wl-ticker--pause:hover .wl-ticker__track {
	animation-play-state: paused;
}

@keyframes wl-ticker-run {
	from { transform: translate3d(0, 0, 0); }
	to   { transform: translate3d(-50%, 0, 0); }
}

.wl-ticker__group {
	display: flex;
	align-items: center;
	gap: 26px;
	padding-right: 26px;
	flex: 0 0 auto;
}

.wl-ticker__item {
	white-space: nowrap;
	font-size: 15px;
	color: inherit;
	text-decoration: none;
}

a.wl-ticker__item:hover {
	text-decoration: underline;
}

.wl-ticker__sep {
	display: inline-flex;
	align-items: center;
	line-height: 0;
	flex: 0 0 auto;
}

.wl-ticker__sep img {
	height: 22px;
	width: auto;
	display: block;
}

.wl-ticker__sep svg {
	height: 22px;
	width: auto;
	fill: currentColor;
}

@media (prefers-reduced-motion: reduce) {
	.wl-ticker__track {
		animation: none;
	}
}

/* ---------------- Bar ---------------- */

.wl-header__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 18px 34px;
	background: #fff;
}

.wl-header__logo img {
	display: block;
	width: var(--wl-logo-w, 210px);
	max-width: 100%;
	height: auto;
}

.wl-header__name {
	font-family: var(--wl-font-display, Georgia, serif);
	font-size: 28px;
	color: var(--wl-ink, #1a1a1a);
	text-decoration: none;
}

.wl-header__actions {
	display: flex;
	align-items: center;
	gap: 18px;
}

.wl-header__icons {
	display: flex;
	align-items: center;
	gap: 26px;
}

.wl-header__icons a {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--wl-ink, #111);
	text-decoration: none;
	line-height: 0;
	transition: color 0.2s ease, transform 0.2s ease;
}

.wl-header__icons a:hover {
	color: var(--wl-icon-hover);
	transform: translateY(-1px);
}

.wl-header__icons i {
	font-size: var(--wl-icon-size, 21px);
	line-height: 1;
}

.wl-header__icons svg {
	width: var(--wl-icon-size, 21px);
	height: var(--wl-icon-size, 21px);
	fill: currentColor;
}

/* Beat .elementor img { height:auto } */
.elementor .wl-header__icons .wl-header__img {
	display: block;
	width: var(--wl-icon-size, 21px);
	height: var(--wl-icon-size, 21px);
	max-width: none;
	object-fit: contain;
	transition: opacity 0.2s ease;
}

/* Optional second file shown on hover, since a colour cannot tint an image */
.wl-header__img--hover {
	position: absolute;
	inset: 0;
	margin: auto;
	opacity: 0;
}

.wl-header__icons a:has(.wl-header__img--hover):hover .wl-header__img {
	opacity: 0;
}

.wl-header__icons a:hover .wl-header__img--hover {
	opacity: 1;
}

/* No hover image supplied — a subtle fade keeps the hover feeling responsive */
.wl-header__icons a:not(:has(.wl-header__img--hover)):hover .wl-header__img {
	opacity: 0.7;
}

.wl-header__count {
	position: absolute;
	top: -8px;
	right: -10px;
	min-width: 17px;
	height: 17px;
	padding: 0 4px;
	border-radius: 999px;
	background: var(--wl-rose, #a3737f);
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	line-height: 17px;
	text-align: center;
}

/* ---------------- Hamburger ---------------- */

.wl-burger {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	color: var(--wl-ink, #111);
}

.wl-burger:hover,
.wl-burger:focus,
.wl-burger:focus-visible,
.wl-burger:active {
	background: none !important;
	background-color: transparent !important;
}

.wl-burger span {
	display: block;
	width: 24px;
	height: 2px;
	margin: 0 auto;
	background: currentColor;
	transition: transform 0.3s ease, opacity 0.2s ease;
}

.wl-burger[aria-expanded="true"] span:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
}

.wl-burger[aria-expanded="true"] span:nth-child(2) {
	opacity: 0;
}

.wl-burger[aria-expanded="true"] span:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg);
}

/* Swap icons for the hamburger at the chosen width */
@media (max-width: 767px) {
	.wl-header--burger-mobile .wl-header__icons--bar { display: none; }
	.wl-header--burger-mobile .wl-burger { display: flex; }
}

@media (max-width: 1024px) {
	.wl-header--burger-tablet .wl-header__icons--bar { display: none; }
	.wl-header--burger-tablet .wl-burger { display: flex; }
}

/* ---------------- Slide-in panel ---------------- */

.wl-panel__backdrop {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.45);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
	z-index: 9998;
}

.wl-panel {
	position: fixed;
	top: 0;
	bottom: 0;
	width: 84%;
	max-width: 360px;
	display: flex;
	flex-direction: column;
	gap: 0;
	padding: 12px 28px 32px;
	background: #fff;
	overflow-y: auto;
	overscroll-behavior: contain;
	transition: transform 0.34s cubic-bezier(0.22, 0.61, 0.36, 1);
	z-index: 9999;
}

.wl-panel--right { right: 0; transform: translateX(105%); }
.wl-panel--left  { left: 0;  transform: translateX(-105%); }

.wl-panel-open .wl-panel { transform: translateX(0); }
.wl-panel-open .wl-panel__backdrop { opacity: 1; visibility: visible; }

/* Panel and backdrop only exist below the hamburger breakpoint */
.wl-header--burger-mobile .wl-panel,
.wl-header--burger-mobile .wl-panel__backdrop { display: none; }
.wl-header--burger-tablet .wl-panel,
.wl-header--burger-tablet .wl-panel__backdrop { display: none; }

@media (max-width: 767px) {
	.wl-header--burger-mobile .wl-panel { display: flex; }
	.wl-header--burger-mobile .wl-panel__backdrop { display: block; }
}

@media (max-width: 1024px) {
	.wl-header--burger-tablet .wl-panel { display: flex; }
	.wl-header--burger-tablet .wl-panel__backdrop { display: block; }
}

.wl-panel__close {
	position: absolute;
	top: 6px;
	right: 8px;
	width: 42px;
	height: 42px;
	border: 0;
	background: transparent;
	font-size: 32px;
	line-height: 1;
	cursor: pointer;
	color: var(--wl-ink, #111);
	z-index: 1;
}

.wl-panel__close:hover,
.wl-panel__close:focus,
.wl-panel__close:focus-visible,
.wl-panel__close:active {
	background: none !important;
	background-color: transparent !important;
}

.wl-panel__list,
.wl-panel__list ul {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.wl-panel__list li {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.wl-panel__list li::marker,
.wl-panel__list li::before {
	content: none !important;
	display: none !important;
}

.wl-panel__list a {
	display: block;
	padding: 14px 2px;
	font-size: 19px;
	color: var(--wl-ink, #111);
	text-decoration: none;
	border-bottom: 1px solid rgba(0, 0, 0, 0.06);
	transition: color 0.2s ease, padding-left 0.2s ease;
}

.wl-panel__list a:hover {
	color: var(--wl-icon-hover);
	padding-left: 8px;
}

/* second level */
.wl-panel__list .sub-menu a {
	padding-left: 18px;
	font-size: 16px;
	opacity: 0.85;
}

.wl-panel__profile {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: 28px 4px 20px;
	margin-bottom: 8px;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.wl-panel__avatar {
	width: 72px;
	height: 72px;
	margin: 0 0 12px;
	border-radius: 50%;
	border: 1.5px solid #e4d0c8;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	text-decoration: none;
}

.wl-panel__avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.wl-panel__brand {
	font-family: var(--wl-font-body, inherit);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--wl-ink, #111);
	text-decoration: none;
}

.wl-panel__handle {
	margin-top: 4px;
	font-size: 13px;
	line-height: 1.3;
	color: #9a9a9a;
}

.wl-panel__auth {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	padding: 24px 4px 20px;
	margin-bottom: 8px;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.wl-panel__auth-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 18px;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
	transition: opacity 0.2s ease;
}

.wl-panel__auth-btn--create {
	background: var(--wl-rose, #a3737f);
	color: #fff;
	border: 1.5px solid var(--wl-rose, #a3737f);
}

.wl-panel__auth-btn--signin {
	background: #111;
	color: #fff;
	border: 1.5px solid #111;
}

.wl-panel__auth-btn:hover,
.wl-panel__auth-btn:focus {
	opacity: 0.88;
}

.wl-panel__auth-btn--create:hover,
.wl-panel__auth-btn--create:focus {
	color: #fff;
}

.wl-panel__auth-btn--signin:hover,
.wl-panel__auth-btn--signin:focus {
	color: #fff;
}

.wl-panel__section {
	padding: 10px 4px 14px;
}

.wl-panel__section-title {
	margin: 0 0 6px;
	font-family: var(--wl-font-body, inherit);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--wl-ink, #111);
}

.wl-panel__section-title a {
	color: inherit;
	text-decoration: none;
}

.wl-panel__section-title a:hover {
	color: var(--wl-icon-hover, #a3737f);
}

.wl-panel__links {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.wl-panel__links li {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.wl-panel__links a {
	display: block;
	padding: 11px 0 11px 2px;
	font-size: 16px;
	font-weight: 400;
	color: #5a5a5a;
	text-decoration: none;
	border: 0;
	transition: color 0.2s ease, padding-left 0.2s ease;
}

.wl-panel__links a:hover {
	color: var(--wl-icon-hover);
	padding-left: 8px;
}

.wl-panel__mark {
	margin-top: auto;
	padding: 28px 4px 0;
}

.wl-panel__mark img {
	width: 72px;
	height: auto;
	display: block;
}

.wl-panel__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 18px;
	height: 52px;
	padding: 0 26px;
	border-radius: 999px;
	background: var(--wl-rose, #a3737f);
	color: #fff;
	text-decoration: none;
	font-size: 15px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.wl-panel__cta:hover {
	opacity: 0.9;
	color: #fff;
}

.wl-header__icons--panel {
	margin: 4px 0 18px;
	padding: 4px 0 18px;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
	gap: 30px;
}

/* Keep the page from scrolling behind an open panel */
body.wl-panel-lock {
	overflow: hidden;
}

@media (max-width: 767px) {
	.wl-header__bar {
		padding: 14px 16px;
	}

	.wl-header__logo img {
		width: var(--wl-logo-w-m, 140px);
	}

	.wl-ticker__item {
		font-size: 13px;
	}
}
