/*!
 * Nexa Header & Footer Builder — front-end styles.
 * Logical properties everywhere, so RTL (Arabic) and LTR both work out of the box.
 */

/* ==========================================================================
   1. Shared basics
   ========================================================================== */

.nexa-header,
.nexa-footer,
.nexa-block,
.nexa-panel {
	--nexa-ink: #15223f;
	--nexa-accent: #306ab3;
	--nexa-navy: #233e83;
	--nexa-line: rgba(21, 34, 63, .1);
	--nexa-pop-shadow: 0 18px 44px -18px rgba(15, 30, 70, .32), 0 2px 8px rgba(15, 30, 70, .06);
	--nexa-ease: cubic-bezier(.2, .75, .25, 1);
}

.nexa-svg {
	display: block;
	flex: none;
	width: var(--nexa-icon-size, 20px);
	height: var(--nexa-icon-size, 20px);
}

:where(.nexa-header, .nexa-footer, .nexa-block, .nexa-panel, .elementor-widget) .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
	word-wrap: normal !important;
}

html.nexa-lock,
html.nexa-lock body {
	overflow: hidden;
}

html.nexa-lock {
	scrollbar-gutter: stable;
}

/* Button reset — beats theme button styles but stays below Elementor control selectors. */
:is(.nexa-icon-btn, .nexa-sub-toggle, .nexa-panel__close, .nexa-search__submit, .nexa-search__close, .nexa-news__btn, .nexa-ticker__close, .nexa-lang__toggle):is(.nexa-icon-btn, .nexa-sub-toggle, .nexa-panel__close, .nexa-search__submit, .nexa-search__close, .nexa-news__btn, .nexa-ticker__close, .nexa-lang__toggle) {
	-webkit-appearance: none;
	appearance: none;
	margin: 0;
	border: 0 solid transparent;
	background-color: transparent;
	background-image: none;
	color: inherit;
	font: inherit;
	line-height: 1;
	letter-spacing: normal;
	text-transform: none;
	text-decoration: none;
	text-shadow: none;
	box-shadow: none;
	white-space: nowrap;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
	transition: color .25s, background-color .25s, border-color .25s, transform .25s, opacity .25s, box-shadow .25s;
}

:is(.nexa-icon-btn, .nexa-sub-toggle, .nexa-panel__close, .nexa-search__submit, .nexa-search__close, .nexa-ticker__close, .nexa-lang__toggle):is(.nexa-icon-btn, .nexa-sub-toggle, .nexa-panel__close, .nexa-search__submit, .nexa-search__close, .nexa-ticker__close, .nexa-lang__toggle):is(:hover, :focus) {
	color: inherit;
	background-color: transparent;
	border-color: transparent;
	text-decoration: none;
}

:is(.nexa-icon-btn, .nexa-sub-toggle, .nexa-panel__close, .nexa-search__submit, .nexa-search__close, .nexa-news__btn, .nexa-ticker__close, .nexa-lang__toggle):focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

/* Square / round icon button used by toggles, cart, account, search... */
.nexa-icon-btn.nexa-icon-btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5em;
	min-width: var(--nexa-btn-size, 42px);
	height: var(--nexa-btn-size, 42px);
	padding: 0;
	border-radius: 10px;
}

.nexa-icon-btn.nexa-icon-btn:hover {
	background-color: color-mix(in srgb, currentColor 9%, transparent);
}

.nexa-icon-btn svg,
.nexa-icon-btn i {
	width: var(--nexa-icon-size, 20px);
	height: var(--nexa-icon-size, 20px);
	font-size: var(--nexa-icon-size, 20px);
	line-height: 1;
}

.nexa-icon-btn svg:not(.nexa-svg) {
	fill: currentColor;
}

.nexa-editor-notice {
	padding: 10px 14px;
	border: 1px dashed rgba(48, 106, 179, .55);
	border-radius: 8px;
	background: rgba(48, 106, 179, .06);
	color: #233e83;
	font-size: 13px;
	line-height: 1.5;
}

/* ==========================================================================
   2. Header engine (sticky / smart / reveal / transparent / glass)
   ========================================================================== */

.nexa-header {
	position: relative;
	z-index: var(--nexa-z, 999);
	display: block;
	width: 100%;
	transition: transform var(--nexa-dur, .35s) var(--nexa-ease), opacity var(--nexa-dur, .35s) ease, visibility 0s;
}

/* Background layer: keeps backdrop-filter off the header itself so fixed panels inside it stay fixed to the screen. */
.nexa-header::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	background-color: var(--nexa-bg, transparent);
	transition: background-color var(--nexa-dur, .35s) ease, box-shadow var(--nexa-dur, .35s) ease, -webkit-backdrop-filter var(--nexa-dur, .35s) ease, backdrop-filter var(--nexa-dur, .35s) ease;
}

.nexa-header.is-scrolled::before {
	background-color: var(--nexa-scrolled-bg, var(--nexa-bg, transparent));
	-webkit-backdrop-filter: var(--nexa-backdrop, none);
	backdrop-filter: var(--nexa-backdrop, none);
	box-shadow: var(--nexa-shadow, none);
}

.nexa-header__inner {
	position: relative;
}

.nexa-header__inner > .elementor > .e-con,
.nexa-header__inner > .elementor > .elementor-section {
	transition: padding var(--nexa-dur, .35s) ease, min-height var(--nexa-dur, .35s) ease, background var(--background-transition, .3s), border var(--border-transition, .3s), box-shadow var(--border-transition, .3s);
}

.nexa-header__inner > .elementor > .e-con > .e-con-inner {
	transition: padding var(--nexa-dur, .35s) ease;
}

/* Smart header: slides away on scroll down. */
.nexa-header.is-hidden {
	transform: translateY(-100%);
}

.nexa-header.is-hidden::before {
	box-shadow: none;
}

.nexa-header.nexa-anim-fade.is-hidden {
	transform: none;
	opacity: 0;
	visibility: hidden;
	transition: opacity var(--nexa-dur, .35s) ease, visibility 0s linear var(--nexa-dur, .35s);
}

.nexa-header.nexa-anim-none,
.nexa-header.no-anim,
.nexa-header.no-anim::before,
.nexa-header.no-anim .nexa-header__inner > .elementor > .e-con,
.nexa-header.no-anim .nexa-header__inner > .elementor > .e-con > .e-con-inner,
.nexa-header.no-anim .nexa-scroll-hide,
.nexa-header.no-anim .nexa-logo__img {
	transition: none !important;
}

/* Reveal header / JS fixed fallback. */
.nexa-header.is-fixed {
	position: fixed !important;
	top: var(--nexa-top, 0px) !important;
	right: 0;
	left: 0;
}

.nexa-header-spacer {
	display: block;
	height: 0;
	pointer-events: none;
}

/* Admin bar offsets (the script refines them). */
body.admin-bar .nexa-header {
	--nexa-top: 32px;
	--nexa-abs-top: 32px;
}

@media screen and (max-width: 782px) {
	body.admin-bar .nexa-header {
		--nexa-top: 46px;
		--nexa-abs-top: 46px;
	}
}

/* Floating card: the full-width header becomes a rounded glass card once scrolled.
   The card background is a pseudo-element, so fixed panels inside the header stay fixed to the screen. */
/* Offset with "top" (relative): unlike a margin it never collapses out of the header, and it keeps panels fixed to the screen. */
.nexa-header.nexa-has-float .nexa-header__inner {
	top: 0;
	max-width: 100%;
	margin-inline: auto;
	transition: max-width var(--nexa-dur, .35s) var(--nexa-ease), top var(--nexa-dur, .35s) var(--nexa-ease), border-radius var(--nexa-dur, .35s) ease;
}

.nexa-header.nexa-has-float .nexa-header__inner::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	border: 1px solid var(--nexa-float-border, transparent);
	border-radius: inherit;
	background-color: var(--nexa-scrolled-bg, var(--nexa-bg, #fff));
	-webkit-backdrop-filter: var(--nexa-backdrop, none);
	backdrop-filter: var(--nexa-backdrop, none);
	box-shadow: var(--nexa-shadow, 0 10px 30px -14px rgba(15, 30, 70, .35));
	opacity: 0;
	pointer-events: none;
	transition: opacity var(--nexa-dur, .35s) ease;
}

.nexa-header.nexa-has-float.is-scrolled::before {
	background-color: transparent;
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
	box-shadow: none;
}

.nexa-header.nexa-has-float.is-scrolled .nexa-header__inner {
	top: var(--nexa-float-gap, 12px);
	max-width: min(var(--nexa-float-width, 1200px), calc(100% - 32px));
	border-radius: var(--nexa-float-radius, 20px);
}

.nexa-header.nexa-has-float.is-scrolled .nexa-header__inner::before {
	opacity: 1;
}

@media (max-width: 767px) {
	.nexa-header.nexa-has-float.is-scrolled .nexa-header__inner {
		top: min(var(--nexa-float-gap, 12px), 8px);
		max-width: calc(100% - 20px);
		border-radius: min(var(--nexa-float-radius, 20px), 16px);
	}
}

/* Progress bar: a track + a bar that fills from the start side (right in Arabic). */
.nexa-header__progress {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 2;
	height: var(--nexa-progress-h, 3px);
	background: var(--nexa-progress-track, transparent);
	pointer-events: none;
}

.nexa-header__progress-bar {
	position: absolute;
	top: 0;
	bottom: 0;
	inset-inline-start: 0;
	width: calc(var(--nexa-p, 0) * 100%);
	border-radius: 0 999px 999px 0;
	background: linear-gradient(90deg, var(--nexa-progress-color, #306ab3), var(--nexa-progress-color-b, var(--nexa-progress-color, #306ab3)));
}

:is([dir="rtl"], .rtl) .nexa-header__progress-bar {
	border-radius: 999px 0 0 999px;
	background: linear-gradient(270deg, var(--nexa-progress-color, #306ab3), var(--nexa-progress-color-b, var(--nexa-progress-color, #306ab3)));
}

/* Pinned to the top edge of the screen (lives right after the header, so a hidden smart header doesn't take it along). */
.nexa-header__progress.nexa-progress--top {
	position: fixed;
	top: var(--nexa-bar-top, 0px);
	bottom: auto;
	z-index: calc(var(--nexa-z, 999) + 2);
}

body.admin-bar .nexa-progress--top {
	--nexa-bar-top: 32px;
}

@media screen and (max-width: 782px) {
	body.admin-bar .nexa-progress--top {
		--nexa-bar-top: 46px;
	}
}

/* Inside a floating card: the bar layer covers the card and is clipped by its rounded corners,
   so the bar follows the curve at any radius. */
.nexa-header.nexa-has-float .nexa-header__inner > .nexa-header__progress {
	top: 0;
	height: auto;
	overflow: hidden;
	border-radius: inherit;
	background: none;
}

.nexa-header.nexa-has-float .nexa-header__inner > .nexa-header__progress::before {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: var(--nexa-progress-h, 3px);
	background: var(--nexa-progress-track, transparent);
}

.nexa-header.nexa-has-float .nexa-header__inner > .nexa-header__progress .nexa-header__progress-bar {
	top: auto;
	height: var(--nexa-progress-h, 3px);
}

/* Logos: smooth size change and optional "scrolled" logo. */
.nexa-logo__img {
	transition: max-height var(--nexa-dur, .35s) ease, width var(--nexa-dur, .35s) ease, opacity .3s ease, transform .3s ease, filter var(--nexa-dur, .35s) ease;
}

/* Two classes, so the generic ".nexa-logo__img { display: block }" can never show it at the top. */
.nexa-logo .nexa-logo__img--sticky {
	display: none;
}

.nexa-header.is-scrolled .nexa-logo.has-sticky .nexa-logo__img--main {
	display: none;
}

.nexa-header.is-scrolled .nexa-logo.has-sticky .nexa-logo__img--sticky {
	display: block;
	animation: nexa-fade-in .35s ease both;
}

.nexa-header.was-scrolled:not(.is-scrolled) .nexa-logo.has-sticky .nexa-logo__img--main {
	animation: nexa-fade-in .35s ease both;
}

/* Containers hidden / shown on scroll ("Nexa: On scroll" control). */
.nexa-header .nexa-scroll-hide {
	max-height: var(--nexa-sh, none);
	transition: max-height var(--nexa-dur, .35s) ease, opacity var(--nexa-dur, .35s) ease, padding var(--nexa-dur, .35s) ease, margin var(--nexa-dur, .35s) ease, border-width var(--nexa-dur, .35s) ease;
}

.nexa-header.is-scrolled .nexa-scroll-hide {
	max-height: 0;
	min-height: 0 !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	border-top-width: 0 !important;
	border-bottom-width: 0 !important;
	overflow: hidden;
	opacity: 0;
	pointer-events: none;
}

.nexa-header:not(.is-scrolled) .nexa-scroll-show {
	display: none !important;
}

.nexa-header.is-scrolled .nexa-scroll-show {
	animation: nexa-fade-in .35s ease both;
}

.elementor-editor-active .nexa-header:not(.is-scrolled) .nexa-scroll-show {
	display: flex !important;
	opacity: .35;
	outline: 1px dashed rgba(48, 106, 179, .6);
}

/* ==========================================================================
   3. Footer reveal
   ========================================================================== */

.nexa-footer {
	position: relative;
	display: block;
}

.nexa-footer.is-reveal {
	position: sticky;
	bottom: 0;
	z-index: auto;
}

.nexa-reveal-cover {
	position: relative;
	z-index: 1;
	background-color: var(--nexa-reveal-bg, #fff);
}

/* ==========================================================================
   4. Site logo
   ========================================================================== */

.nexa-logo {
	display: flex;
	align-items: center;
}

.nexa-logo__link {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	max-width: 100%;
	color: inherit;
	text-decoration: none;
}

.nexa-logo__link:hover,
.nexa-logo__link:focus {
	color: inherit;
	text-decoration: none;
}

.nexa-logo__img {
	display: block;
	max-width: 100%;
	height: auto;
}

.nexa-logo__text {
	display: flex;
	flex-direction: column;
	min-width: 0;
	line-height: 1.2;
}

.nexa-logo__title {
	font-size: 1.25em;
	font-weight: 700;
	transition: color .25s;
}

.nexa-logo__tagline {
	margin-top: 2px;
	font-size: .8em;
	opacity: .75;
	transition: color .25s;
}

.nexa-logo-tone-white .nexa-logo__img,
.nexa-header:not(.is-scrolled) .nexa-logo-tone-white-top .nexa-logo__img--main {
	filter: brightness(0) invert(1);
}

.nexa-logo-tone-dark .nexa-logo__img {
	filter: brightness(0);
}

.nexa-logo-hover-fade .nexa-logo__link:hover .nexa-logo__img {
	opacity: .75;
}

.nexa-logo-hover-grow .nexa-logo__link:hover .nexa-logo__img {
	transform: scale(1.06);
}

.nexa-logo-hover-float .nexa-logo__link:hover .nexa-logo__img {
	transform: translateY(-3px);
}

/* ==========================================================================
   5. Navigation menu
   ========================================================================== */

.nexa-nav-wrap {
	position: relative;
	display: flex;
	align-items: center;
	min-width: 0;
}

.nexa-nav {
	flex: 1 1 auto;
	min-width: 0;
}

.nexa-nav-wrap .nexa-toggle {
	display: none;
}

.nexa-bp-all .nexa-nav {
	display: none;
}

.nexa-bp-all .nexa-toggle.nexa-toggle {
	display: inline-flex;
}

.nexa-menu {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin: 0;
	padding: 0;
	list-style: none;
}

.nexa-nav--vertical .nexa-menu {
	flex-direction: column;
	align-items: flex-start;
	flex-wrap: nowrap;
}

.nexa-menu li,
.nexa-menu__item {
	position: relative;
	margin: 0;
	padding: 0;
	list-style: none;
}

.nexa-menu li::before,
.nexa-menu li::marker {
	content: none;
}

.nexa-menu__row {
	display: flex;
	align-items: center;
}

.nexa-menu__link {
	position: relative;
	display: flex;
	align-items: center;
	gap: .4em;
	padding: .6em .95em;
	color: inherit;
	text-decoration: none;
	line-height: 1.3;
	border-radius: var(--nexa-item-radius, 0);
	transition: color .25s, background-color .25s, opacity .25s;
}

.nexa-menu__link:hover,
.nexa-menu__link:focus {
	text-decoration: none;
}

.nexa-nav .nexa-menu > li > a,
.nexa-nav .nexa-menu > li > .nexa-menu__row > a {
	white-space: nowrap;
}

.nexa-nav--vertical .nexa-menu > li > a,
.nexa-nav--vertical .nexa-menu > li > .nexa-menu__row > a {
	padding-inline: 0;
	white-space: normal;
}

.nexa-menu__text {
	position: relative;
}

.nexa-ind {
	display: inline-flex;
	opacity: .8;
	transition: transform .25s ease;
}

.nexa-ind svg {
	width: var(--nexa-ind-size, 12px);
	height: var(--nexa-ind-size, 12px);
}

.nexa-nav .nexa-sub-toggle {
	display: none;
}

/* Top level: indicator flips when open. */
.nexa-nav--horizontal .nexa-menu > li:is(:hover, :focus-within, .is-open) > .nexa-menu__row .nexa-ind {
	transform: rotate(180deg);
}

.nexa-nav--horizontal.nexa-trigger-click .nexa-menu > li:not(.is-open):is(:hover, :focus-within) > .nexa-menu__row .nexa-ind {
	transform: none;
}

/* ----- Dropdowns (desktop) ----- */
/* Closed dropdowns use display:none so they never widen the page (no sideways scroll on phones / RTL).
   Modern browsers still animate them in and out (@starting-style + allow-discrete). */
.nexa-nav--horizontal {
	--nexa-sub-from: translateY(10px);
}

.nexa-nav--horizontal.nexa-sub-anim-fade {
	--nexa-sub-from: none;
}

.nexa-nav--horizontal.nexa-sub-anim-zoom {
	--nexa-sub-from: scale(.94);
}

.nexa-nav--horizontal.nexa-sub-anim-flip {
	--nexa-sub-from: perspective(700px) rotateX(-14deg);
}

.nexa-nav--horizontal .nexa-submenu {
	position: absolute;
	top: calc(100% + var(--nexa-sub-offset, 0px));
	inset-inline-start: 0;
	z-index: 30;
	display: none;
	min-width: var(--nexa-sub-width, 230px);
	margin: 0;
	padding: 8px;
	list-style: none;
	background: var(--nexa-sub-bg, #fff);
	color: var(--nexa-ink);
	border-radius: var(--nexa-sub-radius, 14px);
	box-shadow: var(--nexa-pop-shadow);
	text-align: start;
	opacity: 0;
	transform: var(--nexa-sub-from);
	transform-origin: top center;
	transition: opacity .2s ease .06s, transform .25s var(--nexa-ease) .06s, display .32s allow-discrete;
}

.nexa-nav--horizontal .nexa-submenu::before {
	content: "";
	position: absolute;
	right: 0;
	bottom: 100%;
	left: 0;
	height: calc(var(--nexa-sub-offset, 0px) + 6px);
}

.nexa-nav--horizontal .nexa-submenu .nexa-submenu {
	top: -8px;
	inset-inline-start: calc(100% + 6px);
}

.nexa-nav--horizontal .nexa-submenu .nexa-submenu::before {
	top: 0;
	bottom: 0;
	inset-inline-start: -12px;
	inset-inline-end: auto;
	width: 12px;
	height: auto;
}

.nexa-nav--horizontal .nexa-submenu .is-flip > .nexa-submenu {
	inset-inline-start: auto;
	inset-inline-end: calc(100% + 6px);
}

.nexa-nav--horizontal.nexa-trigger-hover li:is(:hover, :focus-within) > .nexa-submenu,
.nexa-nav--horizontal li.is-open > .nexa-submenu {
	display: block;
	opacity: 1;
	transform: none;
	transition: opacity .2s ease, transform .25s var(--nexa-ease), display .32s allow-discrete;
}

@starting-style {
	.nexa-nav--horizontal.nexa-trigger-hover li:is(:hover, :focus-within) > .nexa-submenu,
	.nexa-nav--horizontal li.is-open > .nexa-submenu {
		opacity: 0;
		transform: var(--nexa-sub-from);
	}
}

.nexa-nav--horizontal.nexa-trigger-hover li.is-closing > .nexa-submenu {
	display: none;
}

.nexa-nav--horizontal .nexa-menu > li.is-edge > .nexa-submenu {
	inset-inline-start: auto;
	inset-inline-end: 0;
}

.nexa-submenu li + li {
	border-top: 1px solid var(--nexa-sub-divider, transparent);
}

.nexa-nav .nexa-submenu .nexa-menu__link {
	justify-content: space-between;
	padding: 10px 14px;
	white-space: normal;
	border-radius: calc(var(--nexa-sub-radius, 14px) - 5px);
}

.nexa-nav .nexa-submenu li:is(:hover, :focus-within) > a,
.nexa-nav .nexa-submenu li:is(:hover, :focus-within) > .nexa-menu__row > a {
	background-color: var(--nexa-sub-hover, rgba(48, 106, 179, .08));
}

.nexa-nav .nexa-submenu .nexa-ind {
	transform: rotate(-90deg);
}

:is([dir="rtl"], .rtl) .nexa-nav .nexa-submenu .nexa-ind {
	transform: rotate(90deg);
}

.nexa-sub-anim-none .nexa-submenu {
	transition: none !important;
}

/* Vertical (footer) menus: nested lists simply indent. */
.nexa-nav--vertical .nexa-submenu {
	margin: 0;
	padding: 0;
	padding-inline-start: 14px;
	list-style: none;
}

.nexa-nav--vertical .nexa-ind {
	display: none;
}

/* ----- Hover effects (top-level items) ----- */
.nexa-nav {
	--nexa-pointer-c: var(--nexa-pointer, currentColor);
}

.nexa-nav:is(.nexa-pointer-underline, .nexa-pointer-overline, .nexa-pointer-double) .nexa-menu > li > a .nexa-menu__text::after,
.nexa-nav:is(.nexa-pointer-underline, .nexa-pointer-overline, .nexa-pointer-double) .nexa-menu > li > .nexa-menu__row > a .nexa-menu__text::after,
.nexa-nav.nexa-pointer-double .nexa-menu > li > a .nexa-menu__text::before,
.nexa-nav.nexa-pointer-double .nexa-menu > li > .nexa-menu__row > a .nexa-menu__text::before {
	content: "";
	position: absolute;
	right: 0;
	left: 0;
	height: var(--nexa-pointer-width, 2px);
	border-radius: 2px;
	background: var(--nexa-pointer-c);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform .3s var(--nexa-ease), opacity .3s ease;
}

:is([dir="rtl"], .rtl) .nexa-nav .nexa-menu__text::after,
:is([dir="rtl"], .rtl) .nexa-nav .nexa-menu__text::before {
	transform-origin: right center;
}

.nexa-nav:is(.nexa-pointer-underline, .nexa-pointer-double) .nexa-menu > li > a .nexa-menu__text::after,
.nexa-nav:is(.nexa-pointer-underline, .nexa-pointer-double) .nexa-menu > li > .nexa-menu__row > a .nexa-menu__text::after {
	bottom: -7px;
}

.nexa-nav.nexa-pointer-overline .nexa-menu > li > a .nexa-menu__text::after,
.nexa-nav.nexa-pointer-overline .nexa-menu > li > .nexa-menu__row > a .nexa-menu__text::after,
.nexa-nav.nexa-pointer-double .nexa-menu > li > a .nexa-menu__text::before,
.nexa-nav.nexa-pointer-double .nexa-menu > li > .nexa-menu__row > a .nexa-menu__text::before {
	top: -7px;
}

.nexa-nav.nexa-pointer-anim-grow .nexa-menu__text::after,
.nexa-nav.nexa-pointer-anim-grow .nexa-menu__text::before {
	transform-origin: center !important;
}

.nexa-nav.nexa-pointer-anim-fade .nexa-menu__text::after,
.nexa-nav.nexa-pointer-anim-fade .nexa-menu__text::before {
	opacity: 0;
	transform: none !important;
}

.nexa-nav .nexa-menu > li:is(:hover, :focus-within, .current-menu-item, .current-menu-ancestor) > a .nexa-menu__text::after,
.nexa-nav .nexa-menu > li:is(:hover, :focus-within, .current-menu-item, .current-menu-ancestor) > a .nexa-menu__text::before,
.nexa-nav .nexa-menu > li:is(:hover, :focus-within, .current-menu-item, .current-menu-ancestor) > .nexa-menu__row > a .nexa-menu__text::after,
.nexa-nav .nexa-menu > li:is(:hover, :focus-within, .current-menu-item, .current-menu-ancestor) > .nexa-menu__row > a .nexa-menu__text::before {
	transform: scaleX(1);
	opacity: 1;
}

/* Dot */
.nexa-nav.nexa-pointer-dot .nexa-menu > li > a .nexa-menu__text::after,
.nexa-nav.nexa-pointer-dot .nexa-menu > li > .nexa-menu__row > a .nexa-menu__text::after {
	content: "";
	position: absolute;
	bottom: -10px;
	left: 50%;
	width: 5px;
	height: 5px;
	margin-left: -2.5px;
	border-radius: 50%;
	background: var(--nexa-pointer-c);
	transform: scale(0);
	transition: transform .3s var(--nexa-ease);
}

.nexa-nav.nexa-pointer-dot .nexa-menu > li:is(:hover, :focus-within, .current-menu-item, .current-menu-ancestor) > a .nexa-menu__text::after,
.nexa-nav.nexa-pointer-dot .nexa-menu > li:is(:hover, :focus-within, .current-menu-item, .current-menu-ancestor) > .nexa-menu__row > a .nexa-menu__text::after {
	transform: scale(1);
}

/* Frame */
.nexa-nav.nexa-pointer-framed .nexa-menu > li > a::before,
.nexa-nav.nexa-pointer-framed .nexa-menu > li > .nexa-menu__row > a::before {
	content: "";
	position: absolute;
	inset: 0;
	border: var(--nexa-pointer-width, 2px) solid var(--nexa-pointer-c);
	border-radius: var(--nexa-item-radius, 8px);
	opacity: 0;
	transform: scale(.88);
	transition: opacity .25s ease, transform .3s var(--nexa-ease);
	pointer-events: none;
}

.nexa-nav.nexa-pointer-framed .nexa-menu > li:is(:hover, :focus-within, .current-menu-item, .current-menu-ancestor) > a::before,
.nexa-nav.nexa-pointer-framed .nexa-menu > li:is(:hover, :focus-within, .current-menu-item, .current-menu-ancestor) > .nexa-menu__row > a::before {
	opacity: 1;
	transform: none;
}

/* Background / pill */
.nexa-nav:is(.nexa-pointer-background, .nexa-pointer-pill) .nexa-menu > li:is(:hover, :focus-within, .current-menu-item, .current-menu-ancestor) > a,
.nexa-nav:is(.nexa-pointer-background, .nexa-pointer-pill) .nexa-menu > li:is(:hover, :focus-within, .current-menu-item, .current-menu-ancestor) > .nexa-menu__row > a {
	background-color: var(--nexa-pointer, rgba(48, 106, 179, .1));
	color: var(--nexa-pointer-text, inherit);
}

.nexa-nav.nexa-pointer-background {
	--nexa-item-radius: 8px;
}

.nexa-nav.nexa-pointer-pill .nexa-menu > li > a,
.nexa-nav.nexa-pointer-pill .nexa-menu > li > .nexa-menu__row > a {
	border-radius: 999px;
}

/* ----- Menu button ----- */
.nexa-toggle .nexa-toggle__icon,
.nexa-toggle .nexa-toggle__close {
	display: inline-flex;
}

.nexa-toggle .nexa-toggle__close,
.nexa-toggle[aria-expanded="true"] .nexa-toggle__icon {
	display: none;
}

.nexa-toggle[aria-expanded="true"] .nexa-toggle__close {
	display: inline-flex;
	animation: nexa-spin-in .3s var(--nexa-ease) both;
}

.nexa-toggle__label {
	font-size: 15px;
	font-weight: 600;
}

.nexa-icon-btn.nexa-toggle:has(.nexa-toggle__label) {
	padding-inline: 12px;
}

/* ==========================================================================
   6. Panels (mobile menu, off-canvas, full screen, dropdown)
   ========================================================================== */

.nexa-panel {
	--nexa-dir: 1;
	position: fixed;
	inset: 0;
	z-index: 100;
	visibility: hidden;
	pointer-events: none;
	transition: visibility 0s linear .45s;
	text-align: start;
}

:is([dir="rtl"], .rtl) .nexa-panel {
	--nexa-dir: -1;
}

.nexa-panel.is-open {
	visibility: visible;
	pointer-events: auto;
	transition-delay: 0s;
}

.nexa-panel__overlay {
	position: absolute;
	inset: 0;
	background-color: rgba(9, 17, 38, .5);
	opacity: 0;
	transition: opacity .4s ease;
}

.nexa-panel.is-open .nexa-panel__overlay {
	opacity: 1;
}

.nexa-panel__box {
	position: absolute;
	top: 0;
	bottom: 0;
	display: flex;
	flex-direction: column;
	width: min(var(--nexa-panel-width, 370px), 88vw);
	max-width: 100%;
	background-color: #fff;
	color: var(--nexa-ink);
	box-shadow: 0 0 60px -10px rgba(9, 17, 38, .35);
	outline: none;
	transition: transform .45s var(--nexa-ease), opacity .35s ease;
}

.nexa-panel--end .nexa-panel__box {
	inset-inline-end: 0;
	transform: translateX(calc(100% * var(--nexa-dir)));
}

.nexa-panel--start .nexa-panel__box {
	inset-inline-start: 0;
	transform: translateX(calc(-100% * var(--nexa-dir)));
}

.nexa-panel.is-open .nexa-panel__box {
	transform: none;
}

/* Full screen */
.nexa-panel--fullscreen .nexa-panel__box {
	inset: 0;
	width: auto;
	opacity: 0;
	transform: scale(1.03) !important;
}

.nexa-panel--fullscreen.is-open .nexa-panel__box {
	opacity: 1;
	transform: none !important;
}

.nexa-panel--fullscreen .nexa-panel__body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: min(560px, 100%);
	margin-inline: auto;
}

.nexa-panel--fullscreen .nexa-menu--panel > li > a,
.nexa-panel--fullscreen .nexa-menu--panel > li > .nexa-menu__row > a {
	font-size: clamp(22px, 5.5vw, 32px);
	font-weight: 700;
}

.nexa-panel--fullscreen.is-open .nexa-menu--panel > li {
	animation: nexa-rise .55s var(--nexa-ease) both;
	animation-delay: calc(80ms + var(--i, 0) * 45ms);
}

/* Dropdown under the header */
.nexa-panel--dropdown {
	top: var(--nexa-drop-top, 70px);
}

.nexa-panel--dropdown .nexa-panel__box {
	position: relative;
	top: auto;
	bottom: auto;
	width: 100%;
	max-height: 100%;
	box-shadow: 0 24px 40px -24px rgba(9, 17, 38, .4);
	opacity: 0;
	transform: translateY(-10px);
}

.nexa-panel--dropdown.is-open .nexa-panel__box {
	opacity: 1;
}

.nexa-panel__head {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 16px 20px;
	border-bottom: 1px solid var(--nexa-panel-divider, var(--nexa-line));
}

.nexa-panel__title {
	min-width: 0;
	overflow: hidden;
	font-size: 17px;
	font-weight: 700;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.nexa-panel__close.nexa-panel__close {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border-radius: 50%;
	background-color: color-mix(in srgb, currentColor 7%, transparent);
}

.nexa-panel__close.nexa-panel__close:hover {
	background-color: color-mix(in srgb, currentColor 13%, transparent);
	transform: rotate(90deg);
}

.nexa-panel__close svg {
	width: 20px;
	height: 20px;
}

.nexa-panel__body {
	flex: 1 1 auto;
	min-height: 0;
	padding: 10px 20px 28px;
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
}

.nexa-panel--dropdown .nexa-panel__body {
	max-height: calc(100vh - var(--nexa-drop-top, 70px));
	max-height: calc(100dvh - var(--nexa-drop-top, 70px));
	padding-block: 8px 18px;
}

/* Menu inside panels */
.nexa-panel .nexa-menu {
	display: block;
}

.nexa-panel .nexa-menu > li {
	border-bottom: 1px solid var(--nexa-panel-divider, var(--nexa-line));
}

.nexa-panel .nexa-menu__link {
	flex: 1 1 auto;
	justify-content: flex-start;
	padding: 14px 2px;
	color: inherit;
	font-size: 17px;
	font-weight: 600;
	white-space: normal;
	border-radius: 0;
	background: none;
}

.nexa-panel .nexa-menu__link::before,
.nexa-panel .nexa-menu__text::before,
.nexa-panel .nexa-menu__text::after {
	content: none !important;
}

.nexa-panel .nexa-menu .current-menu-item > a,
.nexa-panel .nexa-menu .current-menu-item > .nexa-menu__row > a {
	color: var(--nexa-accent);
}

.nexa-panel .nexa-ind {
	display: none;
}

.nexa-panel .nexa-menu__row {
	justify-content: space-between;
	gap: 8px;
}

.nexa-panel .nexa-sub-toggle.nexa-sub-toggle {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border-radius: 10px;
	background-color: color-mix(in srgb, currentColor 6%, transparent);
}

.nexa-panel .nexa-sub-toggle svg {
	width: 16px;
	height: 16px;
	transition: transform .3s var(--nexa-ease);
}

.nexa-panel .nexa-sub-toggle[aria-expanded="true"] svg {
	transform: rotate(180deg);
}

.nexa-panel .nexa-submenu {
	display: none;
	margin: 0 0 10px;
	padding: 0;
	padding-inline-start: 14px;
	list-style: none;
	border-inline-start: 2px solid var(--nexa-panel-divider, var(--nexa-line));
}

.nexa-panel li.is-sub-open > .nexa-submenu {
	display: block;
	animation: nexa-drop-in .3s var(--nexa-ease) both;
}

.nexa-panel .nexa-submenu .nexa-menu__link {
	padding: 10px 2px;
	font-size: 15px;
	font-weight: 500;
	opacity: .85;
}

.nexa-panel .nexa-submenu .nexa-menu__link:hover {
	opacity: 1;
}

/* ==========================================================================
   7. Off-canvas widget
   ========================================================================== */

.nexa-offcanvas {
	display: flex;
	align-items: center;
}

.nexa-icon-btn.nexa-offcanvas__toggle:has(.nexa-toggle__label) {
	padding-inline: 12px;
}

.nexa-offcanvas__text {
	padding-top: 10px;
	line-height: 1.7;
}

.nexa-offcanvas__text > :first-child {
	margin-top: 0;
}

.nexa-offcanvas__text h3 {
	margin: 0 0 10px;
	font-size: 22px;
	line-height: 1.3;
}

/* ==========================================================================
   8. Search
   ========================================================================== */

.nexa-search {
	position: relative;
	display: flex;
	align-items: center;
}

.nexa-search__form {
	display: flex;
	align-items: center;
	width: 100%;
	min-width: 0;
	height: var(--nexa-field-h, 46px);
	margin: 0;
	overflow: hidden;
	border: 1px solid rgba(21, 34, 63, .14);
	border-radius: 999px;
	background-color: #fff;
	color: var(--nexa-ink, #15223f);
	transition: border-color .2s, box-shadow .2s;
}

.nexa-search__form:focus-within {
	border-color: #306ab3;
	box-shadow: 0 0 0 4px rgba(48, 106, 179, .13);
}

.nexa-search__input.nexa-search__input {
	flex: 1 1 auto;
	width: auto;
	min-width: 0;
	height: 100%;
	margin: 0;
	padding: 0 18px;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: inherit;
	font: inherit;
	font-size: 15px;
	outline: none;
}

.nexa-search__input.nexa-search__input:focus {
	border: 0;
	box-shadow: none;
	outline: none;
}

.nexa-search__input::-webkit-search-decoration,
.nexa-search__input::-webkit-search-cancel-button {
	-webkit-appearance: none;
}

.nexa-search__submit.nexa-search__submit {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	height: 100%;
	aspect-ratio: 1;
	padding: 0;
	border-radius: 0;
}

.nexa-search__submit svg {
	width: var(--nexa-icon-size, 19px);
	height: var(--nexa-icon-size, 19px);
}

.nexa-search__submit--text.nexa-search__submit--text {
	aspect-ratio: auto;
	padding: 0 22px;
	background-color: #233e83;
	color: #fff;
	font-weight: 600;
}

.nexa-search__submit--text.nexa-search__submit--text:hover {
	background-color: #306ab3;
	color: #fff;
}

.nexa-search--inline {
	flex-direction: column;
	align-items: stretch;
}

.nexa-search--inline .nexa-search__form {
	width: 280px;
	max-width: 100%;
}

/* Overlay layout */
.nexa-search__overlay {
	position: fixed;
	inset: 0;
	z-index: 110;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding: max(16vh, 90px) 20px 40px;
	overflow-y: auto;
	background-color: rgba(13, 24, 52, .95);
	color: #fff;
	opacity: 0;
	visibility: hidden;
	transition: opacity .3s ease, visibility 0s linear .3s;
}

.nexa-search__overlay.is-open {
	opacity: 1;
	visibility: visible;
	transition-delay: 0s;
}

.nexa-search__inner {
	width: min(760px, 100%);
	transform: translateY(18px);
	transition: transform .45s var(--nexa-ease);
}

.nexa-search__overlay.is-open .nexa-search__inner {
	transform: none;
}

.nexa-search__overlay .nexa-search__form {
	height: 70px;
	border: 0;
	border-bottom: 2px solid color-mix(in srgb, currentColor 35%, transparent);
	border-radius: 0;
	background: transparent;
	color: inherit;
	box-shadow: none;
}

.nexa-search__overlay .nexa-search__form:focus-within {
	border-bottom-color: currentColor;
	box-shadow: none;
}

.nexa-search__overlay .nexa-search__input.nexa-search__input {
	padding: 0;
	font-size: clamp(20px, 4vw, 32px);
}

.nexa-search__overlay .nexa-search__input::placeholder {
	color: inherit;
	opacity: .55;
}

.nexa-search__overlay .nexa-search__submit svg {
	width: 26px;
	height: 26px;
}

.nexa-search__close.nexa-search__close {
	position: absolute;
	top: max(20px, env(safe-area-inset-top));
	inset-inline-end: 20px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	padding: 0;
	border-radius: 50%;
	background-color: color-mix(in srgb, currentColor 10%, transparent);
}

.nexa-search__close.nexa-search__close:hover {
	background-color: color-mix(in srgb, currentColor 18%, transparent);
	transform: rotate(90deg);
}

.nexa-search__close svg {
	width: 22px;
	height: 22px;
}

/* Dropdown layout */
.nexa-search__drop {
	width: min(360px, 92vw);
	padding: 10px;
}

/* Live results */
.nexa-search__results {
	margin-top: 10px;
	max-height: min(60vh, 440px);
	overflow-y: auto;
	border-radius: 14px;
	background-color: #fff;
	color: var(--nexa-ink, #15223f);
	box-shadow: var(--nexa-pop-shadow, 0 18px 44px -18px rgba(15, 30, 70, .32));
	text-align: start;
}

.nexa-search--inline .nexa-search__results {
	position: absolute;
	top: calc(100% + 4px);
	inset-inline: 0;
	z-index: 40;
	min-width: min(320px, 92vw);
}

.nexa-search__drop .nexa-search__results {
	box-shadow: none;
	border: 1px solid var(--nexa-line, rgba(21, 34, 63, .1));
}

.nexa-search__result {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 12px 16px;
	border-bottom: 1px solid rgba(21, 34, 63, .06);
	color: inherit;
	text-decoration: none;
	transition: background-color .15s;
}

.nexa-search__result:hover,
.nexa-search__result:focus,
.nexa-search__result.is-active {
	background-color: rgba(48, 106, 179, .07);
	color: inherit;
	text-decoration: none;
	outline: none;
}

.nexa-search__r-title {
	min-width: 0;
	font-weight: 500;
	line-height: 1.4;
}

.nexa-search__r-title mark {
	padding: 0;
	background: rgba(48, 106, 179, .16);
	color: inherit;
	border-radius: 3px;
}

.nexa-search__r-type {
	flex: none;
	padding: 3px 8px;
	border-radius: 6px;
	background: rgba(21, 34, 63, .06);
	font-size: 11px;
	font-weight: 600;
	opacity: .75;
}

.nexa-search__all {
	display: block;
	padding: 12px 16px;
	color: #306ab3;
	font-weight: 600;
	text-decoration: none;
}

.nexa-search__all:hover {
	text-decoration: underline;
}

.nexa-search__msg {
	padding: 14px 16px;
	font-size: 14px;
	opacity: .75;
}

.nexa-search__msg.is-loading::before {
	content: "";
	display: inline-block;
	width: 14px;
	height: 14px;
	margin-inline-end: 8px;
	vertical-align: -2px;
	border: 2px solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	animation: nexa-spin .7s linear infinite;
}

/* ==========================================================================
   9. Small dropdown panels: cart, account, language, search dropdown
   ========================================================================== */

:is(.nexa-cart__panel, .nexa-account__panel, .nexa-lang--dropdown .nexa-lang__list, .nexa-search__drop) {
	position: absolute;
	top: calc(100% + 10px);
	inset-inline-end: 0;
	z-index: 40;
	display: none;
	margin: 0;
	border-radius: 16px;
	background-color: #fff;
	color: var(--nexa-ink, #15223f);
	box-shadow: var(--nexa-pop-shadow, 0 18px 44px -18px rgba(15, 30, 70, .32));
	text-align: start;
	opacity: 0;
	transform: translateY(8px);
	transition: opacity .2s ease, transform .25s var(--nexa-ease, ease), display .25s allow-discrete;
}

.is-open > :is(.nexa-cart__panel, .nexa-account__panel, .nexa-lang__list, .nexa-search__drop) {
	display: block;
	opacity: 1;
	transform: none;
}

@starting-style {
	.is-open > :is(.nexa-cart__panel, .nexa-account__panel, .nexa-lang__list, .nexa-search__drop) {
		opacity: 0;
		transform: translateY(8px);
	}
}

.is-flip > :is(.nexa-cart__panel, .nexa-account__panel, .nexa-lang__list, .nexa-search__drop) {
	inset-inline-start: 0;
	inset-inline-end: auto;
}

.is-up > :is(.nexa-cart__panel, .nexa-account__panel, .nexa-lang__list, .nexa-search__drop) {
	top: auto;
	bottom: calc(100% + 10px);
}

/* Phones: the panel takes the screen width just under its button. */
.is-fixed-drop > :is(.nexa-cart__panel, .nexa-account__panel, .nexa-lang__list, .nexa-search__drop) {
	position: fixed;
	top: var(--nexa-drop-top, 70px);
	right: 12px;
	bottom: auto;
	left: 12px;
	width: auto;
	max-width: none;
	max-height: calc(100vh - var(--nexa-drop-top, 70px) - 12px);
	overflow-y: auto;
}

/* ==========================================================================
   10. Cart
   ========================================================================== */

.nexa-cart {
	position: relative;
	display: flex;
	align-items: center;
}

.nexa-cart__icon {
	position: relative;
	display: inline-flex;
}

.nexa-cart__count {
	position: absolute;
	top: -8px;
	inset-inline-end: -10px;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	border-radius: 9px;
	background-color: #306ab3;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	line-height: 18px;
	text-align: center;
	box-sizing: border-box;
}

.nexa-cart--hide-empty .nexa-cart__count[data-count="0"] {
	display: none;
}

.nexa-cart__count.is-bump {
	animation: nexa-bump .6s var(--nexa-ease) both;
}

.nexa-cart__subtotal {
	font-size: 14px;
	font-weight: 600;
}

.nexa-icon-btn.nexa-cart__toggle:has(.nexa-cart__subtotal) {
	gap: 12px;
	padding-inline: 10px;
}

.nexa-cart__panel {
	width: 340px;
	max-width: calc(100vw - 24px);
	padding: 18px;
}

.nexa-cart__mini {
	font-size: 14px;
}

.nexa-cart__mini ul.woocommerce-mini-cart {
	max-height: 300px;
	margin: 0;
	padding: 0;
	overflow-y: auto;
	list-style: none;
}

.nexa-cart__mini li.woocommerce-mini-cart-item {
	position: relative;
	display: flow-root;
	margin: 0;
	padding: 10px 0;
	padding-inline-end: 28px;
	border-bottom: 1px solid rgba(21, 34, 63, .08);
	line-height: 1.45;
}

.nexa-cart__mini li.woocommerce-mini-cart-item a:not(.remove) {
	display: block;
	color: inherit;
	font-weight: 600;
	text-decoration: none;
}

.nexa-cart__mini li.woocommerce-mini-cart-item img {
	float: inline-start;
	width: 54px;
	height: 54px;
	margin: 0;
	margin-inline-end: 12px;
	border-radius: 10px;
	object-fit: cover;
}

.nexa-cart__mini .quantity {
	display: block;
	margin-top: 4px;
	font-size: 13px;
	opacity: .75;
}

.nexa-cart__mini a.remove {
	position: absolute;
	top: 10px;
	inset-inline-end: 0;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	color: #8b96ab !important;
	font-size: 18px;
	line-height: 20px;
	text-align: center;
	text-decoration: none;
}

.nexa-cart__mini a.remove:hover {
	background: #fde8e8;
	color: #d14343 !important;
}

.nexa-cart__mini .woocommerce-mini-cart__total {
	display: flex;
	justify-content: space-between;
	margin: 14px 0;
	font-weight: 600;
}

.nexa-cart__mini .woocommerce-mini-cart__buttons {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
	margin: 0;
}

.nexa-cart__mini .woocommerce-mini-cart__buttons .button {
	display: block;
	margin: 0;
	padding: 11px 12px;
	border: 0;
	border-radius: 10px;
	background: #eef3fb;
	color: #233e83;
	font-weight: 600;
	text-align: center;
	text-decoration: none;
}

.nexa-cart__mini .woocommerce-mini-cart__buttons .button.checkout {
	background: #233e83;
	color: #fff;
}

.nexa-cart__mini .woocommerce-mini-cart__empty-message {
	margin: 8px 0;
	text-align: center;
	opacity: .7;
}

/* ==========================================================================
   11. Contact info
   ========================================================================== */

.nexa-contact {
	--nexa-gap: 24px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	column-gap: var(--nexa-gap);
	row-gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.nexa-contact--stacked {
	--nexa-gap: 14px;
	flex-direction: column;
	align-items: flex-start;
	row-gap: var(--nexa-gap);
}

.nexa-contact__item {
	position: relative;
	display: flex;
	margin: 0;
	padding: 0;
	list-style: none;
}

.nexa-contact__item::marker {
	content: none;
}

.nexa-contact--divided .nexa-contact__item + .nexa-contact__item::before {
	content: "";
	position: absolute;
	top: 50%;
	inset-inline-start: calc(var(--nexa-gap) / -2);
	width: 1px;
	height: 1.1em;
	background: var(--nexa-divider, color-mix(in srgb, currentColor 30%, transparent));
	transform: translateY(-50%);
}

.nexa-contact__link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: inherit;
	text-decoration: none;
	transition: color .2s;
}

a.nexa-contact__link:hover,
a.nexa-contact__link:focus {
	color: inherit;
	text-decoration: none;
}

.nexa-contact__icon {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	transition: color .2s, background-color .2s;
}

.nexa-contact__icon svg,
.nexa-contact__icon i {
	width: var(--nexa-icon-size, 18px);
	height: var(--nexa-icon-size, 18px);
	font-size: var(--nexa-icon-size, 18px);
}

.nexa-contact__icon svg:not(.nexa-svg) {
	fill: currentColor;
}

.nexa-contact__text {
	display: flex;
	flex-direction: column;
	min-width: 0;
	line-height: 1.35;
}

.nexa-contact__label {
	font-size: .78em;
	opacity: .7;
}

.nexa-contact__value {
	font-weight: 500;
	transition: color .2s;
}

/* ==========================================================================
   12. Copyright
   ========================================================================== */

.nexa-copyright {
	margin: 0;
}

.nexa-copyright a {
	color: inherit;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
	transition: color .2s;
}

/* ==========================================================================
   13. Newsletter
   ========================================================================== */

.nexa-news {
	--nexa-field-h: 50px;
	--nexa-field-radius: 12px;
	--nexa-gap: 10px;
	position: relative;
	display: block;
	width: 100%;
	margin: 0;
}

.nexa-news__row {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: var(--nexa-gap);
}

.nexa-news--attached .nexa-news__row {
	flex-wrap: nowrap;
}

.nexa-news--stacked .nexa-news__row {
	flex-direction: column;
	flex-wrap: nowrap;
}

.nexa-news.nexa-news--stacked .nexa-news__row > * {
	flex: none;
}

.nexa-news__input.nexa-news__input {
	flex: 999 1 200px;
	width: auto;
	min-width: 0;
	height: var(--nexa-field-h);
	margin: 0;
	padding: 0 18px;
	border: 1px solid rgba(21, 34, 63, .16);
	border-radius: var(--nexa-field-radius);
	background-color: #fff;
	box-shadow: none;
	color: #15223f;
	font: inherit;
	font-size: 15px;
	outline: none;
	transition: border-color .2s, box-shadow .2s, background-color .2s;
}

.nexa-news__input.nexa-news__input:focus {
	border-color: #306ab3;
	box-shadow: 0 0 0 4px rgba(48, 106, 179, .14);
	outline: none;
}

.nexa-news__input.is-invalid {
	border-color: #d14343 !important;
}

.nexa-news__btn.nexa-news__btn {
	display: inline-flex;
	flex: 1 0 auto;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: var(--nexa-field-h);
	padding: 0 24px;
	border-radius: var(--nexa-field-radius);
	background-color: #233e83;
	color: #fff;
	font-weight: 600;
}

.nexa-news__btn.nexa-news__btn:hover,
.nexa-news__btn.nexa-news__btn:focus-visible {
	background-color: #306ab3;
	color: #fff;
}

.nexa-news__btn svg,
.nexa-news__btn i {
	width: 18px;
	height: 18px;
	font-size: 18px;
}

:is([dir="rtl"], .rtl) .nexa-news__btn .nexa-svg {
	transform: scaleX(-1);
}

.nexa-news--attached .nexa-news__row {
	gap: 0;
	padding: 5px;
	border: 1px solid rgba(21, 34, 63, .16);
	border-radius: var(--nexa-field-radius);
	background-color: #fff;
	transition: border-color .2s, box-shadow .2s;
}

.nexa-news--attached .nexa-news__row:focus-within {
	border-color: #306ab3;
	box-shadow: 0 0 0 4px rgba(48, 106, 179, .14);
}

.nexa-news--attached .nexa-news__input.nexa-news__input {
	height: calc(var(--nexa-field-h) - 12px);
	padding: 0 12px;
	border: 0;
	background: transparent;
	box-shadow: none;
}

.nexa-news--attached .nexa-news__btn.nexa-news__btn {
	flex: none;
	height: calc(var(--nexa-field-h) - 12px);
	border-radius: max(4px, calc(var(--nexa-field-radius) - 5px));
}

.nexa-news__hp {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	clip-path: inset(50%) !important;
	border: 0 !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

.nexa-news__consent {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin-top: 10px;
	font-size: 13px;
	line-height: 1.55;
	opacity: .85;
	cursor: pointer;
}

.nexa-news__consent input {
	flex: none;
	width: 16px;
	height: 16px;
	margin: 2px 0 0;
	accent-color: #306ab3;
}

.nexa-news__consent a {
	color: inherit;
	text-decoration: underline;
}

.nexa-news__msg {
	margin-top: 8px;
	font-size: 14px;
	line-height: 1.5;
}

.nexa-news__msg:empty {
	display: none;
}

.nexa-news__msg.is-success {
	color: #1f8a5b;
}

.nexa-news__msg.is-error {
	color: #d14343;
}

.nexa-news.is-loading .nexa-news__btn {
	opacity: .75;
	pointer-events: none;
}

.nexa-news.is-loading .nexa-news__btn::after {
	content: "";
	width: 14px;
	height: 14px;
	border: 2px solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	animation: nexa-spin .7s linear infinite;
}

/* ==========================================================================
   14. Back to top
   ========================================================================== */

.nexa-btt {
	display: flex;
}

.nexa-btt--fixed {
	position: fixed;
	bottom: calc(var(--nexa-btt-y, 24px) + env(safe-area-inset-bottom, 0px));
	inset-inline-end: var(--nexa-btt-x, 24px);
	z-index: 990;
	opacity: 0;
	visibility: hidden;
	transform: translateY(14px) scale(.9);
	transition: opacity .3s ease, transform .35s var(--nexa-ease, ease), visibility 0s linear .35s;
}

.nexa-btt--fixed.nexa-btt--start {
	inset-inline-start: var(--nexa-btt-x, 24px);
	inset-inline-end: auto;
}

.nexa-btt--fixed.is-visible {
	opacity: 1;
	visibility: visible;
	transform: none;
	transition-delay: 0s;
}

.nexa-btt .nexa-btt__btn.nexa-icon-btn {
	--nexa-btn-size: 50px;
	border-radius: 50%;
	background-color: #233e83;
	color: #fff;
	box-shadow: 0 12px 26px -10px rgba(20, 40, 90, .55);
}

.nexa-btt .nexa-btt__btn.nexa-icon-btn:hover {
	transform: translateY(-3px);
}

.nexa-btt .nexa-btt__btn.has-label {
	padding-inline: 18px;
	border-radius: 999px;
}

.nexa-btt__icon {
	position: relative;
	display: inline-flex;
}

.nexa-btt__label {
	position: relative;
	font-size: 14px;
	font-weight: 600;
}

.nexa-btt__ring {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	overflow: visible;
	transform: rotate(-90deg);
	pointer-events: none;
}

.has-label .nexa-btt__ring {
	display: none;
}

.nexa-btt__track,
.nexa-btt__bar {
	fill: none;
	stroke-width: var(--nexa-ring-w, 2.5);
}

.nexa-btt__track {
	stroke: var(--nexa-ring-track, color-mix(in srgb, currentColor 22%, transparent));
}

.nexa-btt__bar {
	stroke: var(--nexa-ring, currentColor);
	stroke-linecap: round;
	stroke-dasharray: 100;
	stroke-dashoffset: calc(100 - var(--nexa-p, 0) * 100);
	transition: stroke-dashoffset .12s linear;
}

/* ==========================================================================
   15. Announcement ticker
   ========================================================================== */

.nexa-ticker {
	--nexa-ticker-gap: 48px;
	display: flex;
	align-items: center;
	gap: 14px;
	min-width: 0;
}

.nexa-ticker__label {
	display: inline-flex;
	flex: none;
	align-items: center;
	gap: 6px;
	padding: 4px 12px;
	border-radius: 999px;
	background-color: color-mix(in srgb, currentColor 14%, transparent);
	font-size: .85em;
	font-weight: 700;
	white-space: nowrap;
}

.nexa-ticker__label svg,
.nexa-ticker__label i {
	width: 1.15em;
	height: 1.15em;
	font-size: 1.15em;
}

.nexa-ticker__viewport {
	position: relative;
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
}

.nexa-ticker__track {
	display: flex;
	align-items: center;
	margin: 0;
	padding: 0;
	list-style: none;
}

.nexa-ticker__item {
	display: inline-flex;
	flex: none;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
	white-space: nowrap;
}

.nexa-ticker__item::marker {
	content: none;
}

.nexa-ticker__icon {
	display: inline-flex;
}

.nexa-ticker__icon svg,
.nexa-ticker__icon i {
	width: 1.1em;
	height: 1.1em;
	font-size: 1.1em;
}

.nexa-ticker__link {
	color: inherit;
	font-weight: 600;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.nexa-ticker__sep {
	margin-inline: calc(var(--nexa-ticker-gap) / 2);
	color: var(--nexa-sep-color, inherit);
	opacity: .55;
}

.nexa-ticker--marquee .nexa-ticker__item:not(:has(.nexa-ticker__sep)) {
	padding-inline-end: var(--nexa-ticker-gap);
}

.nexa-ticker--marquee .nexa-ticker__track {
	width: max-content;
}

.nexa-ticker--marquee.is-ready .nexa-ticker__track {
	animation: nexa-marquee-ltr var(--nexa-ticker-dur, 30s) linear infinite;
}

.nexa-ticker--marquee.is-ready.is-rtl .nexa-ticker__track {
	animation-name: nexa-marquee-rtl;
}

.nexa-ticker--marquee.is-reverse .nexa-ticker__track {
	animation-direction: reverse;
}

.nexa-ticker--pausable:hover .nexa-ticker__track {
	animation-play-state: paused;
}

.nexa-ticker-fade-yes .nexa-ticker--marquee .nexa-ticker__viewport {
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
}

.nexa-ticker:is(.nexa-ticker--fade, .nexa-ticker--slide) .nexa-ticker__track {
	display: grid;
}

.nexa-ticker:is(.nexa-ticker--fade, .nexa-ticker--slide) .nexa-ticker__item {
	grid-area: 1 / 1;
	justify-self: var(--nexa-ticker-align, center);
	white-space: normal;
	text-align: center;
	opacity: 0;
	visibility: hidden;
	transition: opacity .5s ease, transform .55s var(--nexa-ease, ease), visibility 0s linear .55s;
}

.nexa-ticker--slide .nexa-ticker__item {
	transform: translateY(70%);
}

.nexa-ticker--slide .nexa-ticker__item.is-leaving {
	transform: translateY(-70%);
}

.nexa-ticker:is(.nexa-ticker--fade, .nexa-ticker--slide) .nexa-ticker__item.is-active {
	opacity: 1;
	visibility: visible;
	transform: none;
	transition-delay: 0s;
}

.nexa-ticker--static .nexa-ticker__track {
	flex-wrap: wrap;
	justify-content: var(--nexa-ticker-align, center);
	row-gap: 4px;
}

.nexa-ticker--static .nexa-ticker__item {
	white-space: normal;
}

.nexa-ticker--static .nexa-ticker__item:last-child .nexa-ticker__sep {
	display: none;
}

.nexa-ticker__close.nexa-ticker__close {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	padding: 0;
	border-radius: 50%;
	opacity: .8;
}

.nexa-ticker__close.nexa-ticker__close:hover {
	background-color: color-mix(in srgb, currentColor 14%, transparent);
	opacity: 1;
}

.nexa-ticker__close svg {
	width: 16px;
	height: 16px;
}

.nexa-dismissed {
	display: none !important;
}

.nexa-collapsing {
	overflow: hidden !important;
	transition: max-height .35s ease, opacity .3s ease, padding .35s ease, margin .35s ease !important;
}

/* ==========================================================================
   16. Account
   ========================================================================== */

.nexa-account {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
}

.nexa-icon-btn.nexa-account__toggle.has-text {
	gap: 8px;
	padding-inline: 8px;
}

.nexa-account__avatar {
	display: block;
	flex: none;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	object-fit: cover;
}

.nexa-account__name {
	max-width: 150px;
	overflow: hidden;
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.nexa-account__caret {
	display: inline-flex;
}

.nexa-account__caret svg {
	width: 14px;
	height: 14px;
	transition: transform .25s ease;
}

.nexa-account__toggle[aria-expanded="true"] .nexa-account__caret svg {
	transform: rotate(180deg);
}

.nexa-account__register {
	padding: 8px 14px;
	border: 1px solid color-mix(in srgb, currentColor 35%, transparent);
	border-radius: 999px;
	color: inherit;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
	transition: border-color .2s, background-color .2s;
}

.nexa-account__register:hover {
	border-color: currentColor;
	color: inherit;
	text-decoration: none;
}

.nexa-account__panel {
	min-width: 230px;
	padding: 8px;
}

.nexa-account__hello {
	padding: 10px 12px 8px;
	font-size: 13px;
	opacity: .7;
}

.nexa-account__menu {
	margin: 0;
	padding: 0;
	list-style: none;
}

.nexa-account__menu li {
	margin: 0;
	list-style: none;
}

.nexa-account__menu a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 12px;
	border-radius: 10px;
	color: inherit;
	font-size: 14px;
	text-decoration: none;
	transition: background-color .15s, color .15s;
}

.nexa-account__menu a:hover,
.nexa-account__menu a:focus-visible {
	background-color: rgba(48, 106, 179, .08);
	color: inherit;
	text-decoration: none;
}

.nexa-account__sep {
	margin-top: 6px !important;
	padding-top: 6px;
	border-top: 1px solid var(--nexa-line, rgba(21, 34, 63, .1));
}

.nexa-account__logout svg {
	width: 16px;
	height: 16px;
}

/* ==========================================================================
   17. Business hours
   ========================================================================== */

.nexa-hours {
	--nexa-open: #1f9d63;
	--nexa-closed: #d64545;
}

.nexa-hours__status {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 12px;
	padding: 5px 12px;
	border-radius: 999px;
	background-color: color-mix(in srgb, var(--nexa-state, #888) 12%, transparent);
	color: var(--nexa-state, inherit);
	font-size: .9em;
	font-weight: 700;
	line-height: 1.2;
}

.nexa-hours__status[hidden] {
	display: none;
}

.nexa-hours__status.is-open {
	--nexa-state: var(--nexa-open);
}

.nexa-hours__status.is-closed {
	--nexa-state: var(--nexa-closed);
}

.nexa-hours__dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: currentColor;
}

.nexa-hours__status.is-open .nexa-hours__dot {
	animation: nexa-pulse 2s ease-out infinite;
}

.nexa-hours__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.nexa-hours__row {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	margin: 0;
	padding: 9px 0;
	border-bottom: 1px solid var(--nexa-divider, color-mix(in srgb, currentColor 12%, transparent));
	list-style: none;
	transition: background-color .2s;
}

.nexa-hours__row:last-child {
	border-bottom: 0;
}

.nexa-hours__row.is-today {
	margin-inline: -10px;
	padding-inline: 10px;
	border-radius: 8px;
	font-weight: 700;
}

.nexa-hours__row.is-closed .nexa-hours__time {
	opacity: .7;
}

.nexa-hours__time {
	text-align: end;
	white-space: nowrap;
}

.nexa-hours--compact {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 12px;
}

.nexa-hours--compact .nexa-hours__status {
	margin: 0;
}

.nexa-hours--compact .nexa-hours__row {
	display: none;
	margin: 0;
	padding: 0;
	border: 0;
	font-weight: inherit;
}

.nexa-hours--compact .nexa-hours__row.is-today {
	display: flex;
	gap: 8px;
	background: none !important;
}

/* ==========================================================================
   18. Language switcher
   ========================================================================== */

.nexa-lang {
	position: relative;
	display: flex;
	align-items: center;
}

.nexa-lang__toggle.nexa-lang__toggle {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 6px 8px;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 500;
}

.nexa-lang__toggle.nexa-lang__toggle:hover {
	background-color: color-mix(in srgb, currentColor 8%, transparent);
}

.nexa-lang__globe {
	width: 18px;
	height: 18px;
}

.nexa-lang__caret {
	display: inline-flex;
}

.nexa-lang__caret svg {
	width: 14px;
	height: 14px;
	transition: transform .25s ease;
}

.nexa-lang__toggle[aria-expanded="true"] .nexa-lang__caret svg {
	transform: rotate(180deg);
}

.nexa-lang__flag {
	display: block;
	flex: none;
	width: 20px;
	height: auto;
	border-radius: 2px;
}

.nexa-lang__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.nexa-lang__item {
	margin: 0;
	list-style: none;
}

.nexa-lang--inline .nexa-lang__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 2px;
}

.nexa-lang--inline .nexa-lang__link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 8px;
	border-radius: 6px;
	color: inherit;
	font-size: 14px;
	text-decoration: none;
	opacity: .72;
	transition: opacity .2s, color .2s;
}

.nexa-lang--inline .nexa-lang__link:hover,
.nexa-lang--inline .is-current .nexa-lang__link {
	color: inherit;
	opacity: 1;
}

.nexa-lang--inline .is-current .nexa-lang__link {
	font-weight: 700;
}

.nexa-lang--dropdown .nexa-lang__list {
	min-width: 170px;
	padding: 6px;
}

.nexa-lang--dropdown .nexa-lang__link {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 9px 12px;
	border-radius: 9px;
	color: inherit;
	font-size: 14px;
	text-decoration: none;
	transition: background-color .15s;
}

.nexa-lang--dropdown .nexa-lang__link:hover,
.nexa-lang--dropdown .nexa-lang__link:focus-visible {
	background-color: rgba(48, 106, 179, .08);
	color: inherit;
	text-decoration: none;
}

.nexa-lang--dropdown .is-current .nexa-lang__link {
	font-weight: 700;
}

/* ==========================================================================
   19. Template block
   ========================================================================== */

.nexa-template-block {
	width: 100%;
}

/* ==========================================================================
   20. Editor canvas (sample page around the template)
   ========================================================================== */

body.nexa-hf-canvas {
	margin: 0;
	background-color: #f3f6fb;
}

.nexa-hf-sample {
	display: block;
	color: #1b2a4a;
}

.nexa-hf-sample__wrap {
	width: min(1140px, 100%);
	margin: 0 auto;
}

.nexa-hf-sample__hero {
	display: flex;
	align-items: center;
	min-height: 72vh;
	padding: 170px 24px 110px;
	background:
		radial-gradient(circle at 85% 20%, rgba(111, 168, 232, .45), transparent 42%),
		radial-gradient(circle at 10% 90%, rgba(48, 106, 179, .5), transparent 45%),
		linear-gradient(135deg, #142a63 0%, #233e83 45%, #306ab3 100%);
	color: #fff;
}

.nexa-hf-canvas--footer .nexa-hf-sample__hero {
	min-height: 0;
	padding-block: 90px;
}

.nexa-hf-sample__badge {
	display: inline-block;
	padding: 6px 14px;
	border: 1px solid rgba(255, 255, 255, .25);
	border-radius: 999px;
	background: rgba(255, 255, 255, .1);
	font-size: 13px;
}

.nexa-hf-sample__hero h2 {
	margin: 18px 0 12px;
	color: #fff;
	font-size: clamp(30px, 5vw, 56px);
	line-height: 1.15;
}

.nexa-hf-sample__hero p {
	max-width: 560px;
	margin: 0;
	font-size: 18px;
	line-height: 1.7;
	opacity: .85;
}

.nexa-hf-sample__block {
	padding: 72px 24px;
}

.nexa-hf-sample__block:nth-child(even) {
	background: #fff;
}

.nexa-hf-sample__grid {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	align-items: center;
	gap: 48px;
}

.nexa-hf-sample__grid i {
	display: block;
	height: 14px;
	margin-bottom: 14px;
	border-radius: 7px;
	background: #dce5f2;
}

.nexa-hf-sample__grid i:first-child {
	width: 70%;
	height: 28px;
	margin-bottom: 24px;
	background: #c5d4ea;
}

.nexa-hf-sample__grid i.short {
	width: 55%;
}

.nexa-hf-sample__media {
	aspect-ratio: 16 / 10;
	border-radius: 20px;
	background: linear-gradient(135deg, #d6e3f5, #eef3fa);
}

.nexa-hf-canvas__block {
	padding: 40px 0;
}

@media (max-width: 767px) {
	.nexa-hf-sample__hero {
		min-height: 60vh;
		padding: 130px 20px 70px;
	}

	.nexa-hf-sample__block {
		padding: 48px 20px;
	}

	.nexa-hf-sample__grid {
		grid-template-columns: 1fr;
		gap: 28px;
	}
}

/* ==========================================================================
   21. Keyframes, motion preferences, print
   ========================================================================== */

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

@keyframes nexa-rise {
	from { opacity: 0; transform: translateY(18px); }
	to { opacity: 1; transform: none; }
}

@keyframes nexa-drop-in {
	from { opacity: 0; transform: translateY(-6px); }
	to { opacity: 1; transform: none; }
}

@keyframes nexa-spin-in {
	from { opacity: 0; transform: rotate(-90deg) scale(.6); }
	to { opacity: 1; transform: none; }
}

@keyframes nexa-spin {
	to { transform: rotate(360deg); }
}

@keyframes nexa-bump {
	0% { transform: scale(1); }
	35% { transform: scale(1.45); }
	65% { transform: scale(.9); }
	100% { transform: scale(1); }
}

@keyframes nexa-pulse {
	0% { box-shadow: 0 0 0 0 color-mix(in srgb, currentColor 55%, transparent); }
	70% { box-shadow: 0 0 0 7px transparent; }
	100% { box-shadow: 0 0 0 0 transparent; }
}

@keyframes nexa-marquee-ltr {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}

@keyframes nexa-marquee-rtl {
	from { transform: translateX(0); }
	to { transform: translateX(50%); }
}

@media (prefers-reduced-motion: reduce) {
	.nexa-header,
	.nexa-header::before,
	.nexa-header *,
	.nexa-panel,
	.nexa-panel *,
	.nexa-search__overlay,
	.nexa-search__overlay *,
	.nexa-btt,
	.nexa-ticker__item {
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
	}

	.nexa-ticker--marquee .nexa-ticker__track {
		animation: none !important;
	}

	.nexa-ticker--marquee .nexa-ticker__viewport {
		overflow-x: auto;
	}
}

@media print {
	.nexa-header {
		position: static !important;
		transform: none !important;
	}

	.nexa-header-spacer,
	.nexa-panel,
	.nexa-btt,
	.nexa-search__overlay,
	.nexa-header__progress {
		display: none !important;
	}
}
