/* LAFU header widgets (includes/header-*.php): menu styles, header blocks and bars. Logical properties
   only, so every part follows the reading direction. Colours come from the theme (--lafu-* tokens). */

.lafu-hp-ico {
	display: inline-block;
	flex: none;
	width: 1.15em;
	height: 1.15em;
	background: currentColor;
	-webkit-mask: var(--lafu-sl-ico) center / contain no-repeat;
	mask: var(--lafu-sl-ico) center / contain no-repeat;
	vertical-align: -.18em;
}

.lafu-hp-sr {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
}

/* ---------- Main menu: styles of the navigation block ---------- */

.wp-block-navigation[class*="is-style-lafu-"] .wp-block-navigation-item__content { text-decoration: none; }
.wp-block-navigation.is-style-lafu-underline .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	position: relative;
	padding-block: .35em;
}
.wp-block-navigation.is-style-lafu-underline .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	inset-inline: 0;
	inset-block-end: 0;
	height: 2px;
	border-radius: 2px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: var(--lafu-hp-start, left) center;
	transition: transform .2s ease;
}
[dir="rtl"] .wp-block-navigation.is-style-lafu-underline { --lafu-hp-start: right; }
.wp-block-navigation.is-style-lafu-underline .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover::after,
.wp-block-navigation.is-style-lafu-underline .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:focus-visible::after,
.wp-block-navigation.is-style-lafu-underline .wp-block-navigation__container > .current-menu-item > .wp-block-navigation-item__content::after,
.wp-block-navigation.is-style-lafu-underline .wp-block-navigation__container > .current-menu-ancestor > .wp-block-navigation-item__content::after { transform: scaleX(1); }

.wp-block-navigation.is-style-lafu-pill .wp-block-navigation__container { gap: .25rem; }
.wp-block-navigation.is-style-lafu-pill .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	padding: .45em .95em;
	border-radius: 999px;
	transition: background-color .15s ease;
}
.wp-block-navigation.is-style-lafu-pill .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover,
.wp-block-navigation.is-style-lafu-pill .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:focus-visible { background: color-mix(in srgb, currentColor 9%, transparent); }
.wp-block-navigation.is-style-lafu-pill .wp-block-navigation__container > .current-menu-item > .wp-block-navigation-item__content,
.wp-block-navigation.is-style-lafu-pill .wp-block-navigation__container > .current-menu-ancestor > .wp-block-navigation-item__content { background: color-mix(in srgb, currentColor 14%, transparent); }

.wp-block-navigation.is-style-lafu-bordered .wp-block-navigation__container { gap: .4rem; }
.wp-block-navigation.is-style-lafu-bordered .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	padding: .4em .9em;
	border: 1px solid color-mix(in srgb, currentColor 22%, transparent);
	border-radius: .5em;
	transition: border-color .15s ease;
}
.wp-block-navigation.is-style-lafu-bordered .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover,
.wp-block-navigation.is-style-lafu-bordered .wp-block-navigation__container > .current-menu-item > .wp-block-navigation-item__content { border-color: currentColor; }

.wp-block-navigation.is-style-lafu-uppercase .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	text-transform: uppercase;
	letter-spacing: .09em;
	font-size: .82em;
	font-weight: 600;
}
.wp-block-navigation.is-style-lafu-bold .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { font-weight: 700; }

/* Dropdowns: a shadow card, an accent line on top, or dark. */
.wp-block-navigation.lafu-nav-dd-card .wp-block-navigation__submenu-container,
.wp-block-navigation.lafu-nav-dd-line .wp-block-navigation__submenu-container,
.wp-block-navigation.lafu-nav-dd-dark .wp-block-navigation__submenu-container {
	min-width: 220px !important;
	padding: .5rem !important;
	border: 0 !important;
	border-radius: var(--lafu-radius, 14px);
	background: var(--lafu-surface, #fff) !important;
	color: var(--lafu-text, #111) !important;
	box-shadow: 0 18px 44px -18px rgba(0, 0, 0, .35), 0 2px 6px rgba(0, 0, 0, .06);
}
.wp-block-navigation.lafu-nav-dd-line .wp-block-navigation__submenu-container {
	border-radius: 0 0 var(--lafu-radius, 14px) var(--lafu-radius, 14px);
	border-block-start: 3px solid var(--lafu-primary, #1f6f5c) !important;
}
.wp-block-navigation.lafu-nav-dd-dark .wp-block-navigation__submenu-container {
	background: var(--wp--custom--ink, #15171a) !important;
	color: var(--wp--custom--on-ink, #fff) !important;
}
.wp-block-navigation[class*="lafu-nav-dd-"] .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	display: flex;
	gap: .5em;
	align-items: center;
	padding: .55em .8em;
	border-radius: calc(var(--lafu-radius, 14px) * .55);
	color: inherit;
}
.wp-block-navigation[class*="lafu-nav-dd-"] .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.wp-block-navigation[class*="lafu-nav-dd-"] .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible { background: color-mix(in srgb, currentColor 8%, transparent); }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { box-shadow: none; background: transparent !important; color: inherit !important; }

/* The current page: a line, a dot, a soft background or the brand colour. */
.wp-block-navigation.lafu-nav-active-line .wp-block-navigation__container > .current-menu-item > .wp-block-navigation-item__content,
.wp-block-navigation.lafu-nav-active-line .wp-block-navigation__container > .current-menu-ancestor > .wp-block-navigation-item__content { box-shadow: inset 0 -2px 0 var(--lafu-primary, currentColor); }
.wp-block-navigation.lafu-nav-active-dot .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { position: relative; }
.wp-block-navigation.lafu-nav-active-dot .wp-block-navigation__container > .current-menu-item > .wp-block-navigation-item__content::before,
.wp-block-navigation.lafu-nav-active-dot .wp-block-navigation__container > .current-menu-ancestor > .wp-block-navigation-item__content::before {
	content: "";
	position: absolute;
	inset-block-end: -.45em;
	inset-inline-start: 50%;
	width: 6px;
	height: 6px;
	margin-inline-start: -3px;
	border-radius: 50%;
	background: var(--lafu-primary, currentColor);
}
.wp-block-navigation.lafu-nav-active-soft .wp-block-navigation__container > .current-menu-item > .wp-block-navigation-item__content {
	padding-inline: .8em;
	border-radius: .5em;
	background: color-mix(in srgb, var(--lafu-primary, currentColor) 12%, transparent);
}
.wp-block-navigation.lafu-nav-active-color .current-menu-item > .wp-block-navigation-item__content { color: var(--lafu-primary, currentColor) !important; }
.wp-block-navigation .current-menu-item > .wp-block-navigation-item__content { font-weight: inherit; }

/* Menu item icons and labels. */
.wp-block-navigation .lafu-nav-has-icon > .wp-block-navigation-item__content,
.wp-block-navigation .lafu-nav-has-badge > .wp-block-navigation-item__content { display: inline-flex; align-items: center; gap: .4em; }
.lafu-nav-ico { opacity: .85; }
.lafu-nav-badge {
	display: inline-block;
	padding: .2em .5em;
	border-radius: 999px;
	font-size: .66rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: .03em;
	text-transform: uppercase;
	vertical-align: .15em;
	white-space: nowrap;
}
.lafu-nav-badge--green { background: #1a7f37; color: #fff; }
.lafu-nav-badge--red { background: #c8102e; color: #fff; }
.lafu-nav-badge--orange { background: #b45309; color: #fff; }
.lafu-nav-badge--blue { background: #1d4ed8; color: #fff; }
.lafu-nav-badge--dark { background: #1f2937; color: #fff; }
.lafu-nav-badge--brand { background: var(--lafu-primary, #1f6f5c); color: var(--wp--preset--color--primary-contrast, #fff); }
/* The same label in the editor (data-lafu-badge on the menu item). */
.wp-block-navigation-item[data-lafu-badge] > .wp-block-navigation-item__content::after {
	content: attr(data-lafu-badge);
	margin-inline-start: .4em;
	padding: .2em .5em;
	border-radius: 999px;
	background: var(--lafu-primary, #1f6f5c);
	color: #fff;
	font-size: .66rem;
	font-weight: 700;
	text-transform: uppercase;
	vertical-align: .15em;
}
.wp-block-navigation-item[data-lafu-badge-color="green"] > .wp-block-navigation-item__content::after { background: #1a7f37; }
.wp-block-navigation-item[data-lafu-badge-color="red"] > .wp-block-navigation-item__content::after { background: #c8102e; }
.wp-block-navigation-item[data-lafu-badge-color="orange"] > .wp-block-navigation-item__content::after { background: #b45309; }
.wp-block-navigation-item[data-lafu-badge-color="blue"] > .wp-block-navigation-item__content::after { background: #1d4ed8; }
.wp-block-navigation-item[data-lafu-badge-color="dark"] > .wp-block-navigation-item__content::after { background: #1f2937; }

/* ---------- Header parts ---------- */

.lafu-hp { box-sizing: border-box; }
.lafu-hp.is-size-small { font-size: .82rem; }
.lafu-hp.is-size-medium { font-size: .92rem; }
.lafu-hp.is-size-large { font-size: 1.05rem; }
.lafu-hp a { color: inherit; }

/* Header links. */
.lafu-hp-links__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .25rem 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.lafu-hp-links__list > li { display: inline-flex; align-items: center; margin: 0; }
.lafu-hp-links__list a,
.lafu-hp-links__list > li > span { display: inline-flex; align-items: center; gap: .4em; padding-block: .3em; text-decoration: none; }
.lafu-hp-links__list a:hover,
.lafu-hp-links__list a:focus-visible,
.lafu-hp-links__list a[aria-current="page"] { text-decoration: underline; text-underline-offset: .25em; }
.lafu-hp-links.is-sep-line .lafu-hp-links__list > li + li::before,
.lafu-hp-links.is-sep-dot .lafu-hp-links__list > li + li::before,
.lafu-hp-links.is-sep-slash .lafu-hp-links__list > li + li::before { margin-inline-end: 1rem; opacity: .45; }
.lafu-hp-links.is-sep-line .lafu-hp-links__list > li + li::before { content: ""; width: 1px; height: 1em; background: currentColor; }
.lafu-hp-links.is-sep-dot .lafu-hp-links__list > li + li::before { content: "•"; }
.lafu-hp-links.is-sep-slash .lafu-hp-links__list > li + li::before { content: "/"; }

/* Divider and space. */
.lafu-hp-divider { flex: none; align-self: center; border: 0 currentColor; opacity: .25; }
.lafu-hp-divider.is-vertical { border-inline-start-width: var(--lafu-hp-thick, 1px); height: 1.4em; margin-inline: .25rem; }
.lafu-hp-divider.is-vertical.is-size-small { height: .9em; }
.lafu-hp-divider.is-vertical.is-size-large { height: 2.2em; }
.lafu-hp-divider.is-vertical.is-size-full { height: auto; align-self: stretch; }
.lafu-hp-divider.is-horizontal { border-block-start-width: var(--lafu-hp-thick, 1px); width: 4rem; margin-block: .5rem; }
.lafu-hp-divider.is-horizontal.is-size-small { width: 2rem; }
.lafu-hp-divider.is-horizontal.is-size-large { width: 10rem; }
.lafu-hp-divider.is-horizontal.is-size-full { width: 100%; flex-basis: 100%; }
.lafu-hp-divider.is-dashed { border-style: dashed; }
.lafu-hp-divider.is-dotted { border-style: dotted; }
.lafu-hp-space { flex: none; }
.lafu-hp-space.is-horizontal { height: 1px; width: var(--lafu-hp-space, 1rem); }
.lafu-hp-space.is-vertical { width: 100%; height: var(--lafu-hp-space, 1rem); flex-basis: 100%; }
.lafu-hp-space.is-size-xs { --lafu-hp-space: .25rem; }
.lafu-hp-space.is-size-small { --lafu-hp-space: .6rem; }
.lafu-hp-space.is-size-large { --lafu-hp-space: 2rem; }
.lafu-hp-space.is-size-xl { --lafu-hp-space: 3.5rem; }
.lafu-hp-space.is-size-fill { flex: 1 1 auto; width: auto; min-width: .5rem; }
@media (max-width: 781px) { .lafu-hp-space.is-hidden-mobile { display: none; } }

/* Info box: icon in a circle (default), plain icon or boxed. */
.lafu-hp-info__link,
.lafu-hp-info:not(:has(.lafu-hp-info__link)) { display: inline-flex; align-items: center; gap: .7em; text-decoration: none; }
.lafu-hp-info__badge {
	display: inline-grid;
	place-items: center;
	flex: none;
	width: 2.5em;
	height: 2.5em;
	border-radius: 50%;
	background: color-mix(in srgb, var(--lafu-primary, currentColor) 12%, transparent);
	color: var(--lafu-primary, currentColor);
}
.lafu-hp-info__badge .lafu-hp-ico { width: 1.2em; height: 1.2em; }
.lafu-hp-info.is-style-plain .lafu-hp-info__badge { width: auto; height: auto; background: none; }
.lafu-hp-info.is-style-plain .lafu-hp-info__badge .lafu-hp-ico { width: 1.6em; height: 1.6em; }
.lafu-hp-info.is-style-boxed .lafu-hp-info__badge { border-radius: calc(var(--lafu-radius, 14px) * .6); background: var(--lafu-primary, #1f6f5c); color: var(--wp--preset--color--primary-contrast, #fff); }
.lafu-hp-info__text { display: flex; flex-direction: column; line-height: 1.25; }
.lafu-hp-info__title { font-size: .8em; opacity: .75; }
.lafu-hp-info__line { font-weight: 700; }
.lafu-hp-info__link:hover .lafu-hp-info__line,
.lafu-hp-info__link:focus-visible .lafu-hp-info__line { text-decoration: underline; text-underline-offset: .2em; }

/* Contact list. */
.lafu-hp-contact__list { display: flex; flex-wrap: wrap; gap: .35rem 1.25rem; margin: 0; padding: 0; list-style: none; }
.lafu-hp-contact.is-stacked .lafu-hp-contact__list { flex-direction: column; }
.lafu-hp-contact__list > li { margin: 0; }
.lafu-hp-contact__list > li > a,
.lafu-hp-contact__list > li:not(:has(a)) { display: inline-flex; align-items: flex-start; gap: .45em; text-decoration: none; }
.lafu-hp-contact__list .lafu-hp-ico { margin-block-start: .1em; opacity: .8; }
.lafu-hp-contact__list a:hover,
.lafu-hp-contact__list a:focus-visible { text-decoration: underline; text-underline-offset: .2em; }
.lafu-hp-contact.is-style-pills .lafu-hp-contact__list { gap: .5rem; }
.lafu-hp-contact.is-style-pills .lafu-hp-contact__list > li > a,
.lafu-hp-contact.is-style-pills .lafu-hp-contact__list > li:not(:has(a)) { padding: .35em .85em; border-radius: 999px; background: color-mix(in srgb, currentColor 8%, transparent); }
.lafu-hp-contact.is-style-separated:not(.is-stacked) .lafu-hp-contact__list > li + li { padding-inline-start: 1.25rem; border-inline-start: 1px solid color-mix(in srgb, currentColor 25%, transparent); }
.lafu-hp-contact.is-style-separated.is-stacked .lafu-hp-contact__list > li + li { padding-block-start: .35rem; border-block-start: 1px solid color-mix(in srgb, currentColor 18%, transparent); }

/* Social icons: plain (default), circle, rounded square, outlined, brand colours. */
.lafu-hp-social { --lafu-hp-soc: 1.1rem; }
.lafu-hp-social.is-size-small { --lafu-hp-soc: .9rem; }
.lafu-hp-social.is-size-large { --lafu-hp-soc: 1.4rem; }
.lafu-hp-social__list { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; margin: 0; padding: 0; list-style: none; }
.lafu-hp-social__list > li { margin: 0; }
.lafu-hp-social__link {
	display: inline-grid;
	place-items: center;
	width: calc(var(--lafu-hp-soc) * 2);
	height: calc(var(--lafu-hp-soc) * 2);
	color: inherit;
	text-decoration: none;
	transition: background-color .15s ease, color .15s ease, transform .15s ease;
}
.lafu-hp-social__svg { width: var(--lafu-hp-soc); height: var(--lafu-hp-soc); }
.lafu-hp-social:not([class*="is-style-"]) .lafu-hp-social__link:hover,
.lafu-hp-social.is-style-plain .lafu-hp-social__link:hover { color: var(--lafu-hp-brand); }
.lafu-hp-social.is-style-circle .lafu-hp-social__link,
.lafu-hp-social.is-style-rounded .lafu-hp-social__link { background: color-mix(in srgb, currentColor 10%, transparent); }
.lafu-hp-social.is-style-circle .lafu-hp-social__link,
.lafu-hp-social.is-style-outlined .lafu-hp-social__link,
.lafu-hp-social.is-style-brand .lafu-hp-social__link { border-radius: 50%; }
.lafu-hp-social.is-style-rounded .lafu-hp-social__link { border-radius: 28%; }
.lafu-hp-social.is-style-outlined .lafu-hp-social__link { border: 1.5px solid color-mix(in srgb, currentColor 45%, transparent); }
.lafu-hp-social.is-style-circle .lafu-hp-social__link:hover,
.lafu-hp-social.is-style-rounded .lafu-hp-social__link:hover,
.lafu-hp-social.is-style-outlined .lafu-hp-social__link:hover,
.lafu-hp-social.is-style-brand .lafu-hp-social__link { background: var(--lafu-hp-brand); border-color: var(--lafu-hp-brand); color: var(--lafu-hp-on-brand); }
.lafu-hp-social.is-style-brand .lafu-hp-social__link:hover { transform: translateY(-2px); }
.lafu-hp-social__link:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }

/* Header button: filled (default), outline, soft or a text link (two classes: the theme's button style is :root :where()). */
.lafu-hp-button .lafu-hp-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5em;
	padding: .65em 1.3em;
	border: 2px solid var(--lafu-primary, #1f6f5c);
	background: var(--lafu-primary, #1f6f5c);
	color: var(--wp--preset--color--primary-contrast, #fff) !important;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
	transition: filter .15s ease, background-color .15s ease;
}
.lafu-hp-button.is-size-small .lafu-hp-button__link { padding: .45em .95em; }
.lafu-hp-button.is-size-large .lafu-hp-button__link { padding: .85em 1.7em; }
.lafu-hp-button .lafu-hp-button__link:hover { filter: brightness(.92); }
.lafu-hp-button.is-shape-pill .lafu-hp-button__link { border-radius: 999px; }
.lafu-hp-button.is-shape-rounded .lafu-hp-button__link { border-radius: .5em; }
.lafu-hp-button.is-shape-square .lafu-hp-button__link { border-radius: 0; }
.lafu-hp-button.is-style-outline .lafu-hp-button__link { background: transparent; color: inherit !important; border-color: currentColor; }
.lafu-hp-button.is-style-outline .lafu-hp-button__link:hover { background: color-mix(in srgb, currentColor 8%, transparent); filter: none; }
.lafu-hp-button.is-style-soft .lafu-hp-button__link { background: color-mix(in srgb, var(--lafu-primary, #1f6f5c) 12%, var(--lafu-base, #fff)); border-color: transparent; color: var(--lafu-text, #111) !important; }
.lafu-hp-button.is-style-link .lafu-hp-button__link { padding-inline: 0; background: none; border-color: transparent; color: inherit !important; text-decoration: underline; text-underline-offset: .25em; }

/* Header HTML. */
.lafu-hp-html > :first-child { margin-block-start: 0; }
.lafu-hp-html > :last-child { margin-block-end: 0; }

/* ---------- Top bar and promo banner: brand colour (default), dark, soft, sale red ---------- */

.lafu-hp-topbar,
.lafu-hp-banner {
	--lafu-hp-bar-bg: var(--lafu-primary, #1f6f5c);
	--lafu-hp-bar-fg: var(--wp--preset--color--primary-contrast, #fff);
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .75rem;
	background: var(--lafu-hp-bar-bg);
	color: var(--lafu-hp-bar-fg);
}
.lafu-hp-topbar.is-style-dark,
.lafu-hp-banner.is-style-dark { --lafu-hp-bar-bg: var(--wp--custom--ink, #15171a); --lafu-hp-bar-fg: var(--wp--custom--on-ink, #fff); }
.lafu-hp-topbar.is-style-soft,
.lafu-hp-banner.is-style-soft { --lafu-hp-bar-bg: var(--lafu-soft, #f2f2f2); --lafu-hp-bar-fg: var(--lafu-text, #111); }
.lafu-hp-topbar.is-style-sale,
.lafu-hp-banner.is-style-sale { --lafu-hp-bar-bg: #c8102e; --lafu-hp-bar-fg: #fff; }
.lafu-hp-topbar a,
.lafu-hp-banner a { color: inherit; text-decoration: underline; text-underline-offset: .2em; }
.lafu-hp-topbar { min-height: 2.25rem; padding: .35rem 2.75rem; font-size: .85rem; text-align: center; }
.lafu-hp-topbar__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .25rem 1.25rem; min-width: 0; }
.lafu-hp-topbar p { margin: 0; line-height: 1.35; }
.lafu-hp-topbar.is-effect-none .lafu-hp-topbar__track { display: flex; flex-wrap: wrap; justify-content: center; gap: .25rem 1.5rem; }
.lafu-hp-topbar.is-rotating .lafu-hp-topbar__track { display: grid; min-width: 0; }
.lafu-hp-topbar.is-rotating .lafu-hp-topbar__msg { grid-area: 1 / 1; transition: opacity .45s ease, transform .45s ease; }
.lafu-hp-topbar.is-rotating .lafu-hp-topbar__msg:not(.is-on) { visibility: hidden; opacity: 0; }
.lafu-hp-topbar.is-rotating.is-effect-slide .lafu-hp-topbar__msg:not(.is-on) { transform: translateY(70%); }
.lafu-hp-topbar.is-rotating .lafu-hp-topbar__msg.is-on { visibility: visible; transition: opacity .45s ease, transform .45s ease, visibility 0s; }
@media (prefers-reduced-motion: reduce) {
	.lafu-hp-topbar.is-rotating .lafu-hp-topbar__msg { transition: none !important; transform: none !important; }
}
.lafu-hp-topbar__controls { display: inline-flex; gap: .1rem; }
.lafu-hp-topbar__controls[hidden] { display: none; }
.lafu-hp-topbar__btn,
.lafu-hp-close {
	display: inline-grid;
	place-items: center;
	width: 1.9rem;
	height: 1.9rem;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: inherit;
	cursor: pointer;
}
.lafu-hp-topbar__btn:hover,
.lafu-hp-close:hover { background: color-mix(in srgb, currentColor 15%, transparent); }
.lafu-hp-topbar__btn:focus-visible,
.lafu-hp-close:focus-visible { outline: 2px solid currentColor; outline-offset: 1px; }
.lafu-hp-topbar__pause { display: block; width: .6rem; height: .7rem; border-inline: 3px solid currentColor; }
.lafu-hp-topbar__btn.is-paused .lafu-hp-topbar__pause { width: 0; height: 0; border-block: .35rem solid transparent; border-inline-start: .55rem solid currentColor; border-inline-end: 0; margin-inline-start: .15rem; }
[dir="rtl"] .lafu-hp-flip { transform: scaleX(-1); }
.lafu-hp-close { position: absolute; inset-inline-end: .5rem; inset-block-start: 50%; translate: 0 -50%; z-index: 2; }
.lafu-hp-close[hidden] { display: none; }
.lafu-hp-countdown { display: inline-flex; flex-wrap: wrap; gap: .4em; align-items: baseline; font-weight: 600; }
.lafu-hp-countdown__time { padding: .05em .5em; border-radius: .35em; background: color-mix(in srgb, currentColor 16%, transparent); font-variant-numeric: tabular-nums; }

.lafu-hp-banner { overflow: hidden; padding: .75rem 3rem; text-align: center; }
.lafu-hp-banner.is-height-small { min-height: 3rem; }
.lafu-hp-banner.is-height-medium { min-height: 6rem; }
.lafu-hp-banner.is-height-large { min-height: 10rem; }
.lafu-hp-banner__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.lafu-hp-banner.has-image::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(0, 0, 0, .55), rgba(0, 0, 0, .25)); pointer-events: none; }
.lafu-hp-banner.has-image { --lafu-hp-bar-fg: #fff; }
.lafu-hp-banner__text { position: relative; z-index: 1; margin: 0; font-weight: 600; font-size: 1.05rem; }
.lafu-hp-banner.has-image .lafu-hp-banner__text { text-shadow: 0 1px 6px rgba(0, 0, 0, .4); }
.lafu-hp-banner__cover { position: static; display: contents; text-decoration: none !important; }
.lafu-hp-banner__cover::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.lafu-hp-banner__cover:focus-visible::after { outline: 3px solid currentColor; outline-offset: -4px; }
.lafu-hp-banner__cover:hover .lafu-hp-banner__text { text-decoration: underline; text-underline-offset: .2em; }

/* ---------- Language and currency switchers ---------- */

.lafu-hp-sw__list { display: flex; flex-wrap: wrap; align-items: center; gap: .15rem .6rem; margin: 0; padding: 0; list-style: none; }
.lafu-hp-sw__list > li { margin: 0; }
.lafu-hp-sw__link { display: inline-flex; align-items: center; gap: .4em; padding: .3em .15em; text-decoration: none; }
.lafu-hp-sw__link:hover,
.lafu-hp-sw__link:focus-visible { text-decoration: underline; text-underline-offset: .2em; }
.lafu-hp-sw__link[aria-current="true"] { font-weight: 700; }
.lafu-hp-sw.is-flags .lafu-hp-sw__link[aria-current="true"] { outline: 2px solid currentColor; outline-offset: 1px; border-radius: 3px; }
.lafu-hp-sw__flag { display: block; width: 18px; height: 12px; object-fit: cover; border-radius: 2px; }
.lafu-hp-sw__emoji { font-size: 1.1em; line-height: 1; }
.lafu-hp-dd { position: relative; display: inline-block; }
.lafu-hp-dd__button {
	display: inline-flex;
	align-items: center;
	gap: .4em;
	padding: .35em .6em;
	border: 1px solid color-mix(in srgb, currentColor 22%, transparent);
	border-radius: .5em;
	background: transparent;
	color: inherit;
	font: inherit;
	cursor: pointer;
}
.lafu-hp-dd__button:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.lafu-hp-dd__chevron { width: .9em; height: .9em; transform: rotate(90deg); transition: transform .15s ease; }
.lafu-hp-dd__button[aria-expanded="true"] .lafu-hp-dd__chevron { transform: rotate(-90deg); }
.lafu-hp-dd__list {
	position: absolute;
	inset-inline-start: 0;
	inset-block-start: calc(100% + .35rem);
	z-index: 60;
	min-width: 100%;
	margin: 0;
	padding: .35rem;
	list-style: none;
	border-radius: calc(var(--lafu-radius, 14px) * .6);
	background: var(--lafu-surface, #fff);
	color: var(--lafu-text, #111);
	box-shadow: 0 16px 40px -16px rgba(0, 0, 0, .35), 0 2px 6px rgba(0, 0, 0, .06);
	white-space: nowrap;
}
.lafu-hp-dd__list[hidden] { display: none; }
.lafu-hp-dd__list .lafu-hp-sw__link { display: flex; padding: .45em .7em; border-radius: .4em; }
.lafu-hp-dd__list .lafu-hp-sw__link:hover,
.lafu-hp-dd__list .lafu-hp-sw__link:focus-visible { background: color-mix(in srgb, currentColor 8%, transparent); text-decoration: none; }

/* Rows split in three (lafu-header-split): the logo in the middle, the last part at the end. */
.lafu-header-split > .lafu-brand { justify-content: center; }
.lafu-header-split > :last-child:not(.wp-block-navigation) { display: flex; justify-content: flex-end; }
@media (max-width: 781px) {
	/* Phones: the split menu goes under the logo instead of two menu buttons; info boxes and dividers in a header row make room for the logo. */
	.lafu-header-split:has(> .wp-block-navigation + .lafu-brand + .wp-block-navigation) { flex-wrap: wrap !important; justify-content: center; row-gap: .4rem; }
	.lafu-header-split:has(> .wp-block-navigation + .lafu-brand + .wp-block-navigation) > .lafu-brand { order: -1; flex-basis: 100%; }
	.lafu-header-split:has(> .wp-block-navigation + .lafu-brand + .wp-block-navigation) > .wp-block-navigation { flex: none; order: 1; }
	.lafu-header > .alignwide > :is(.lafu-hp-info, .lafu-hp-divider.is-vertical) { display: none; }
	.lafu-topbar > .alignwide:has(.lafu-hp) { flex-wrap: wrap !important; justify-content: center; row-gap: .25rem; text-align: center; }
}
