/* Soufyan Custom – design layer.
   Colours mirror Elementor > Site Settings > Global Colors.
   Each block below is switched on by a CSS class set in Elementor (Advanced > CSS Classes). */

:root {
	--sfy-ink: #0b2b1f;      /* Principal (verde noche) */
	--sfy-deep: #052e1f;     /* Verde profundo */
	--sfy-green: #15803d;    /* Verde marca */
	--sfy-mint: #34d399;     /* Menta */
	--sfy-lime: #bef264;     /* Lima */
	--sfy-amber: #f59e0b;    /* Ámbar */
	--sfy-soft: #e7f6ec;
	--sfy-bg: #f3f7f4;
	--sfy-border: #dfe7e2;
	--sfy-shadow-sm: 0 2px 6px rgba(11, 43, 31, .06), 0 8px 24px -8px rgba(11, 43, 31, .12);
	--sfy-shadow-lg: 0 6px 16px rgba(11, 43, 31, .08), 0 28px 56px -16px rgba(11, 43, 31, .28);
	--sfy-ease: cubic-bezier(.2, .7, .2, 1);
}

/* ---------- Buttons: smooth lift on hover ---------- */
.elementor-button {
	transition: transform .25s var(--sfy-ease), box-shadow .25s var(--sfy-ease), background-color .2s, color .2s, border-color .2s;
}
.elementor-button:hover { transform: translateY(-2px); box-shadow: 0 10px 22px -10px rgba(11, 43, 31, .45); }
.elementor-button:active { transform: translateY(0); }
/* Icon and text always centred inside the button. */
.elementor-button { display: inline-flex; align-items: center; justify-content: center; }
.elementor-button .elementor-button-content-wrapper { align-items: center; }
.elementor-button .elementor-button-icon { display: inline-flex; align-items: center; }
/* Buttons side by side (Width: Inline): same height and same top line.
   Elementor gives the last widget of a column a smaller bottom margin, so
   centring them in the row would push the last one down. */
.elementor-widget-button.elementor-widget__width-auto { align-self: flex-start; }
.elementor-widget-button.elementor-widget__width-auto .elementor-button { box-sizing: border-box; }
.elementor-widget-button.elementor-widget__width-auto .elementor-size-lg { min-height: 52px; }
.elementor-widget-button.elementor-widget__width-auto .elementor-size-md { min-height: 48px; }
.elementor-widget-button.elementor-widget__width-auto .elementor-size-sm { min-height: 42px; }

/* ---------- Cards (columns with the class sfy-card) ---------- */
.sfy-card {
	transition: transform .35s var(--sfy-ease), box-shadow .35s var(--sfy-ease), border-color .35s;
}
.sfy-card > .elementor-element-populated,
.sfy-card > .elementor-widget-wrap {
	transition: transform .35s var(--sfy-ease), box-shadow .35s var(--sfy-ease), border-color .35s;
}
.elementor-column.sfy-card:hover > .elementor-element-populated {
	transform: translateY(-6px);
	box-shadow: var(--sfy-shadow-lg);
	border-color: rgba(21, 128, 61, .35);
}

/* Project cards: tinted panel behind the device mockup. */
.sfy-media {
	position: relative;
	border-radius: 18px;
	padding: 22px 18px 10px;
	background:
		radial-gradient(120% 90% at 85% 0%, rgba(52, 211, 153, .35), transparent 60%),
		linear-gradient(160deg, #e7f6ec, #d3efdd);
	overflow: hidden;
}
.sfy-media img { transition: transform .5s var(--sfy-ease); }
.sfy-card:hover .sfy-media img { transform: translateY(-4px) scale(1.025); }

/* Service cards: illustration panel. */
.sfy-illus {
	border-radius: 16px;
	background: linear-gradient(180deg, #f3f7f4, #fff);
	overflow: hidden;
}
.sfy-illus img { transition: transform .5s var(--sfy-ease); }
.sfy-card:hover .sfy-illus img { transform: scale(1.04); }

/* Design images always fill their column (SVGs have no intrinsic size). */
.sfy-device, .sfy-photo, .sfy-illus, .sfy-media, .sfy-float { width: 100%; }
.sfy-device a, .sfy-photo a, .sfy-illus a, .sfy-media a, .sfy-float a { display: block; }
.sfy-device img, .sfy-photo img, .sfy-illus img, .sfy-media img, .sfy-float img {
	width: 100%;
	height: auto;
}
/* Elementor forces linked SVGs to 48px (.elementor-widget-image a img[src$=".svg"]). */
.elementor-widget-image:is(.sfy-illus, .sfy-float, .sfy-device, .sfy-media, .sfy-photo) a img[src$=".svg"] { width: 100%; }
.sfy-illus img { aspect-ratio: 400 / 280; }
.sfy-chat-mini img { max-width: 210px; margin-inline: auto; display: block; }

/* ---------- Device mockups ---------- */
.sfy-device img {
	filter: drop-shadow(0 22px 26px rgba(5, 46, 31, .28)) drop-shadow(0 4px 8px rgba(5, 46, 31, .12));
}
.sfy-motion .sfy-float img { animation: sfy-float 7s ease-in-out infinite; }
@keyframes sfy-float {
	0%, 100% { transform: translateY(0); }
	50%      { transform: translateY(-12px); }
}

/* ---------- Hero ---------- */
.sfy-hero { position: relative; overflow: hidden; isolation: isolate; }
.sfy-hero::before { /* dot grid that fades out */
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image: radial-gradient(rgba(255, 255, 255, .14) 1px, transparent 1.5px);
	background-size: 26px 26px;
	-webkit-mask-image: radial-gradient(70% 80% at 30% 40%, #000 20%, transparent 75%);
	        mask-image: radial-gradient(70% 80% at 30% 40%, #000 20%, transparent 75%);
}
.sfy-hero::after { /* soft glows */
	content: "";
	position: absolute;
	z-index: -1;
	width: 720px;
	height: 720px;
	inset-inline-end: -160px;
	top: -200px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(52, 211, 153, .38), rgba(52, 211, 153, 0) 65%);
	pointer-events: none;
}
.sfy-hero > .elementor-container { position: relative; }

/* Highlighted words inside headings: <span class="sfy-hl">…</span> */
.sfy-hl {
	background: linear-gradient(90deg, var(--sfy-lime), var(--sfy-mint));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.sfy-hl-dark {
	background: linear-gradient(90deg, var(--sfy-green), #0e9f6e);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

/* Eyebrow as a pill. */
.sfy-pill .elementor-heading-title {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 7px 14px 7px 12px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .08);
	border: 1px solid rgba(255, 255, 255, .16);
	backdrop-filter: blur(6px);
}
.sfy-pill .elementor-heading-title::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--sfy-mint);
	box-shadow: 0 0 0 4px rgba(52, 211, 153, .25);
}
.sfy-pill-light .elementor-heading-title {
	display: inline-flex;
	padding: 6px 14px;
	border-radius: 999px;
	background: var(--sfy-soft);
}

/* Floating "glass" chips over images (Icon Box with position absolute). */
.sfy-chip .elementor-icon-box-wrapper {
	background: rgba(255, 255, 255, .96);
	border-radius: 16px;
	padding: 12px 16px;
	box-shadow: var(--sfy-shadow-lg);
}
/* Icon + one line of text: text vertically centred on the icon
   (Elementor's default "top" alignment wins over a plain class rule). */
.elementor-widget-icon-box.sfy-chip .elementor-icon-box-wrapper,
.elementor-widget-icon-box.sfy-mini .elementor-icon-box-wrapper,
.elementor-widget-icon-box.elementor-position-inline-start .elementor-icon-box-wrapper:not(:has(.elementor-icon-box-description)),
.elementor-widget-icon-box.elementor-position-inline-end .elementor-icon-box-wrapper:not(:has(.elementor-icon-box-description)) {
	align-items: center !important;
}
.sfy-chip .elementor-icon-box-title,
.sfy-mini .elementor-icon-box-title { margin: 0 !important; }
.sfy-chip .elementor-icon-box-icon,
.sfy-mini .elementor-icon-box-icon { display: inline-flex; margin-bottom: 0 !important; }
.sfy-chip .elementor-icon,
.sfy-mini .elementor-icon { display: inline-flex; align-items: center; justify-content: center; }
.sfy-motion .sfy-chip { animation: sfy-float 6s ease-in-out infinite; }
.sfy-motion .sfy-chip.sfy-chip--b { animation-delay: -3s; }
@media (max-width: 767px) {
	.sfy-chip { display: none; }
}

/* ---------- Stats strip (overlaps the hero) ---------- */
.sfy-stats > .elementor-container {
	background: #fff;
	border-radius: 24px;
	box-shadow: var(--sfy-shadow-lg);
	border: 1px solid var(--sfy-border);
}
.sfy-stat { position: relative; }
@media (min-width: 768px) {
	.sfy-stat + .sfy-stat::before {
		content: "";
		position: absolute;
		inset-inline-start: 0;
		top: 22%;
		bottom: 22%;
		border-inline-start: 1px solid var(--sfy-border);
	}
}
.sfy-counter .elementor-heading-title { font-variant-numeric: tabular-nums; }

/* ---------- Backgrounds ---------- */
.sfy-dots { position: relative; isolation: isolate; }
.sfy-dots::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image: radial-gradient(rgba(21, 128, 61, .14) 1px, transparent 1.5px);
	background-size: 24px 24px;
	-webkit-mask-image: linear-gradient(180deg, transparent, #000 30%, #000 70%, transparent);
	        mask-image: linear-gradient(180deg, transparent, #000 30%, #000 70%, transparent);
	pointer-events: none;
}
.sfy-blob { position: relative; isolation: isolate; overflow: hidden; }
.sfy-blob::before, .sfy-blob::after {
	content: "";
	position: absolute;
	z-index: -1;
	border-radius: 50%;
	pointer-events: none;
}
.sfy-blob::before {
	width: 520px; height: 520px; inset-inline-start: -180px; top: 8%;
	background: radial-gradient(circle, rgba(52, 211, 153, .18), transparent 65%);
}
.sfy-blob::after {
	width: 460px; height: 460px; inset-inline-end: -140px; bottom: -80px;
	background: radial-gradient(circle, rgba(190, 242, 100, .22), transparent 65%);
}
.sfy-glow { position: relative; isolation: isolate; overflow: hidden; }
.sfy-glow::before {
	content: "";
	position: absolute;
	z-index: -1;
	width: 760px; height: 760px;
	inset-inline-start: -260px; bottom: -420px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(52, 211, 153, .30), transparent 65%);
	pointer-events: none;
}
.sfy-glow::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image: radial-gradient(rgba(255, 255, 255, .10) 1px, transparent 1.5px);
	background-size: 26px 26px;
	-webkit-mask-image: radial-gradient(60% 70% at 80% 30%, #000, transparent 75%);
	        mask-image: radial-gradient(60% 70% at 80% 30%, #000, transparent 75%);
	pointer-events: none;
}

/* On a card (column), the glow belongs inside the rounded box, not in the column gap. */
.elementor-column.sfy-glow { overflow: visible; }
.elementor-column.sfy-glow::before,
.elementor-column.sfy-glow::after { content: none; }
.elementor-column.sfy-glow > .elementor-element-populated { position: relative; isolation: isolate; overflow: hidden; }
.elementor-column.sfy-glow > .elementor-element-populated::before {
	content: "";
	position: absolute;
	z-index: -1;
	width: 520px; height: 520px;
	inset-inline-start: -220px; bottom: -320px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(52, 211, 153, .30), transparent 65%);
	pointer-events: none;
}

/* ---------- Photos ---------- */
.sfy-photo img {
	border-radius: 24px;
	box-shadow: var(--sfy-shadow-lg);
}
.sfy-photo-frame { position: relative; isolation: isolate; }
.sfy-photo-frame::before {
	content: "";
	position: absolute;
	z-index: -1;
	inset: 22px -14px -14px 22px;
	border-radius: 28px;
	background: linear-gradient(135deg, var(--sfy-mint), var(--sfy-lime));
	opacity: .55;
}
[dir="rtl"] .sfy-photo-frame::before { inset: 22px 22px -14px -14px; }

/* ---------- Steps ---------- */
.sfy-step-num .elementor-heading-title {
	display: inline-grid;
	place-items: center;
	width: 52px;
	height: 52px;
	border-radius: 16px;
	background: linear-gradient(135deg, var(--sfy-green), #0e9f6e);
	color: #fff !important;
	box-shadow: 0 10px 20px -10px rgba(21, 128, 61, .8);
}
.sfy-step-num-light .elementor-heading-title {
	background: linear-gradient(135deg, var(--sfy-lime), var(--sfy-mint));
	color: var(--sfy-ink) !important;
}

/* Formula band. */
.sfy-formula .elementor-heading-title {
	display: inline-block;
	padding: 18px 30px;
	border-radius: 999px;
	background: var(--sfy-ink);
	box-shadow: var(--sfy-shadow-lg);
}

/* Icon list as chips. */
.sfy-chips .elementor-icon-list-item {
	padding: 10px 16px !important;
	border-radius: 999px;
	background: rgba(255, 255, 255, .1);
	border: 1px solid rgba(255, 255, 255, .18);
	backdrop-filter: blur(4px);
	margin: 0 8px 10px 0 !important;
	transition: background-color .25s, transform .25s var(--sfy-ease);
}
.sfy-chips .elementor-icon-list-item:hover { background: rgba(255, 255, 255, .18); transform: translateY(-2px); }
[dir="rtl"] .sfy-chips .elementor-icon-list-item { margin: 0 0 10px 8px !important; }

/* Problem items (compact cards). */
.sfy-mini .elementor-icon-box-wrapper {
	background: #fff;
	border: 1px solid var(--sfy-border);
	border-radius: 18px;
	padding: 18px;
	height: 100%;
	transition: transform .3s var(--sfy-ease), box-shadow .3s var(--sfy-ease);
}
.sfy-mini:hover .elementor-icon-box-wrapper { transform: translateY(-4px); box-shadow: var(--sfy-shadow-sm); }

/* FAQ accordion: rounded items with gaps. */
.sfy-faq .elementor-accordion-item {
	border-radius: 16px;
	overflow: hidden;
	margin-bottom: 12px;
	border: 1px solid var(--sfy-border) !important;
	background: #fff;
	transition: box-shadow .3s;
}
.sfy-faq .elementor-accordion-item:hover { box-shadow: var(--sfy-shadow-sm); }
.sfy-faq .elementor-tab-title.elementor-active { color: var(--sfy-green); }

/* Header shadow while scrolling. */
#masthead { transition: box-shadow .3s; }
#masthead.sfy-scrolled { box-shadow: 0 8px 24px -12px rgba(11, 43, 31, .25); }

/* ---------- Scroll-reveal (only when JS + motion are on) ---------- */
.sfy-motion .sfy-reveal > .elementor-container {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity .8s var(--sfy-ease), transform .8s var(--sfy-ease);
}
.sfy-motion .sfy-reveal.sfy-in > .elementor-container { opacity: 1; transform: none; }

/* ---------- Reduced motion: no movement at all ---------- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
	.elementor-invisible { visibility: visible !important; }
	.elementor-button:hover,
	.elementor-column.sfy-card:hover > .elementor-element-populated,
	.sfy-card:hover .sfy-media img,
	.sfy-card:hover .sfy-illus img,
	.sfy-mini:hover .elementor-icon-box-wrapper,
	.sfy-chips .elementor-icon-list-item:hover { transform: none; }
}

/* ---------- Inner pages ---------- */
/* Service illustration on a white floating card in the hero. */
.sfy-hero-art {
	padding: 14px;
	background: #fff;
	border-radius: 26px;
	box-shadow: 0 34px 60px -24px rgba(0, 0, 0, .5);
}
.sfy-hero-art img { border-radius: 18px; }
.sfy-chat-hero img { max-width: 420px; margin-inline: auto; display: block; }
@media (max-width: 1024px) {
	.sfy-chat-hero img { max-width: 300px; }
}
/* Big gradient "404". */
.sfy-404 .elementor-heading-title {
	background: linear-gradient(90deg, var(--sfy-lime), var(--sfy-mint));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
/* Legal text inside a card. */
.sfy-legal h2 { font-size: 23px; line-height: 1.3; margin: 1.8em 0 .5em; }
.sfy-legal h2:first-child { margin-top: 0; }
.sfy-legal h3 { font-size: 19px; margin: 1.4em 0 .4em; }
.sfy-legal ul { padding-inline-start: 1.2em; }
.sfy-legal li { margin-bottom: .35em; }
.sfy-legal table { width: 100%; border-collapse: collapse; font-size: 15px; }
.sfy-legal th, .sfy-legal td { border: 1px solid #dfe7e2; padding: 8px 10px; text-align: start; vertical-align: top; }

/* ---------- Language switcher (includes/lang-switcher.php) ----------
   Desktop: globe + code pill, dropdown card opening on hover, click or keyboard.
   Tablet/mobile menu: the pill becomes a title and every language is a chip. */
.hfe-nav-menu li.sfy-lang { position: relative; margin-inline-start: 10px; }
.hfe-nav-menu li.sfy-lang > .hfe-has-submenu-container > a.hfe-menu-item {
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
	min-height: 40px;
	padding: 6px 14px !important;
	border: 1px solid var(--sfy-border);
	border-radius: 999px;
	background: var(--sfy-soft) !important;
	color: var(--sfy-ink) !important;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .04em;
	line-height: 1;
	transition: background-color .2s, border-color .2s, box-shadow .25s var(--sfy-ease), color .2s;
}
.hfe-nav-menu li.sfy-lang > .hfe-has-submenu-container > a.hfe-menu-item:hover,
.hfe-nav-menu li.sfy-lang.sfy-open > .hfe-has-submenu-container > a.hfe-menu-item,
.hfe-nav-menu li.sfy-lang > .hfe-has-submenu-container:focus-visible > a.hfe-menu-item {
	background: #fff !important;
	border-color: var(--sfy-green);
	box-shadow: 0 0 0 3px rgba(21, 128, 61, .14);
}
.hfe-nav-menu li.sfy-lang > .hfe-has-submenu-container:focus-visible { outline: none; }
.hfe-nav-menu li.sfy-lang a.hfe-menu-item::before { display: none !important; }
.sfy-lang .sfy-lang-globe { flex: none; color: var(--sfy-green); }
.sfy-lang .sfy-lang-word { display: none; }
/* Chevron instead of the HFE arrow. */
.hfe-nav-menu li.sfy-lang .hfe-menu-toggle { display: none !important; }
.hfe-nav-menu li.sfy-lang > .hfe-has-submenu-container > a.hfe-menu-item::after {
	content: "";
	display: block !important;
	position: static !important;
	width: 6px;
	height: 6px;
	margin-inline-start: 2px;
	margin-top: -3px;
	border: solid currentColor;
	border-width: 0 1.8px 1.8px 0;
	background: none !important;
	opacity: .7 !important;
	transform: rotate(45deg);
	transition: transform .25s var(--sfy-ease), margin .25s var(--sfy-ease);
}
.hfe-nav-menu li.sfy-lang.sfy-open > .hfe-has-submenu-container > a.hfe-menu-item::after { transform: rotate(-135deg); margin-top: 3px; }

/* Dropdown card. */
.hfe-nav-menu li.sfy-lang > ul.sub-menu {
	position: absolute !important;
	top: calc(100% + 10px) !important;
	right: 0 !important;
	left: auto !important;
	min-width: 210px !important;
	padding: 6px !important;
	border: 1px solid var(--sfy-border) !important;
	border-radius: 16px;
	background: #fff !important;
	box-shadow: var(--sfy-shadow-lg) !important;
	visibility: hidden !important;
	opacity: 0 !important;
	transform: translateY(-6px) scale(.98);
	transform-origin: top right;
	transition: opacity .2s var(--sfy-ease), transform .25s var(--sfy-ease), visibility 0s linear .25s !important;
	z-index: 9999;
}
[dir="rtl"] .hfe-nav-menu li.sfy-lang > ul.sub-menu { right: auto !important; left: 0 !important; transform-origin: top left; }
/* Invisible bridge so the card stays open while the pointer moves down to it. */
.hfe-nav-menu li.sfy-lang > ul.sub-menu::before { content: ""; position: absolute; inset: -12px 0 auto; height: 12px; }
.hfe-nav-menu li.sfy-lang:hover > ul.sub-menu,
.hfe-nav-menu li.sfy-lang:focus-within > ul.sub-menu,
.hfe-nav-menu li.sfy-lang.sfy-open > ul.sub-menu {
	visibility: visible !important;
	opacity: 1 !important;
	transform: none;
	transition: opacity .2s var(--sfy-ease), transform .25s var(--sfy-ease), visibility 0s !important;
}
.hfe-nav-menu li.sfy-lang > ul.sub-menu li { border: 0 !important; }
.hfe-nav-menu li.sfy-lang > ul.sub-menu a.hfe-sub-menu-item {
	display: flex !important;
	align-items: center;
	gap: 10px;
	padding: 9px 10px !important;
	border-radius: 10px;
	background: transparent !important;
	color: var(--sfy-ink) !important;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.2;
	transition: background-color .15s, color .15s;
}
.hfe-nav-menu li.sfy-lang > ul.sub-menu a.hfe-sub-menu-item:hover,
.hfe-nav-menu li.sfy-lang > ul.sub-menu a.hfe-sub-menu-item:focus-visible { background: var(--sfy-bg) !important; color: var(--sfy-green) !important; outline: none; }
.sfy-lang .sfy-lang-code {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	letter-spacing: .04em;
}
.sfy-lang .sub-menu .sfy-lang-code {
	flex: none;
	width: 32px;
	height: 24px;
	border-radius: 6px;
	background: var(--sfy-bg);
	color: var(--sfy-ink);
	font-size: 11.5px;
}
.sfy-lang .sfy-lang-name { flex: 1; }
.sfy-lang .sfy-lang-name[lang="ar"] { font-family: "Noto Kufi Arabic", "Tajawal", sans-serif; }
.sfy-lang .sfy-lang-check { flex: none; color: var(--sfy-green); }
.hfe-nav-menu li.sfy-lang > ul.sub-menu li.sfy-lang-current a.hfe-sub-menu-item { background: var(--sfy-soft) !important; color: var(--sfy-deep) !important; font-weight: 700; }
.sfy-lang .sub-menu .sfy-lang-current .sfy-lang-code { background: var(--sfy-green); color: #fff; }

/* Tablet/mobile menu (HFE breakpoint "tablet"): languages always visible as chips. */
@media (max-width: 1024px) {
	.hfe-nav-menu li.sfy-lang { margin: 0; padding: 14px 20px 18px; border-top: 1px solid var(--sfy-border); }
	.hfe-nav-menu li.sfy-lang > .hfe-has-submenu-container { pointer-events: none; }
	.hfe-nav-menu li.sfy-lang > .hfe-has-submenu-container > a.hfe-menu-item {
		min-height: 0;
		padding: 0 0 10px !important;
		border: 0;
		background: transparent !important;
		box-shadow: none !important;
		font-size: 12px;
		text-transform: uppercase;
		letter-spacing: .08em;
		color: #5b6b63 !important;
	}
	.hfe-nav-menu li.sfy-lang > .hfe-has-submenu-container > a.hfe-menu-item::after,
	.sfy-lang > .hfe-has-submenu-container .sfy-lang-code { display: none !important; }
	.sfy-lang .sfy-lang-word { display: inline; }
	.hfe-nav-menu li.sfy-lang > ul.sub-menu {
		position: static !important;
		display: grid !important;
		grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
		gap: 8px;
		height: auto !important;
		min-width: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		visibility: visible !important;
		opacity: 1 !important;
		transform: none;
		transition: none !important;
	}
	.hfe-nav-menu li.sfy-lang > ul.sub-menu::before { display: none; }
	.hfe-nav-menu li.sfy-lang > ul.sub-menu a.hfe-sub-menu-item {
		min-height: 46px;
		padding: 8px 10px !important;
		border: 1px solid var(--sfy-border) !important;
		background: #fff !important;
	}
	.hfe-nav-menu li.sfy-lang > ul.sub-menu li.sfy-lang-current a.hfe-sub-menu-item { border-color: var(--sfy-green) !important; }
}
@media (prefers-reduced-motion: reduce) {
	.hfe-nav-menu li.sfy-lang > ul.sub-menu { transform: none; transition: none !important; }
}