/*
 Theme Name: FACT - Les Acteurs du Commerce
 Theme URI: https://lesacteursducommerce.com
 Description: Custom theme for FACT - Fédération des Acteurs du Commerce dans les Territoires. Built with Elementor.
 Author: FACT CNCC
 Author URI: https://lesacteursducommerce.com
 Template: hello-elementor
 Version: 1.0.7
 Text Domain: hello-elementor-child
 License: Private
 License URI: https://lesacteursducommerce.com
*/

/* Add your custom styles below */

/* === ElementsKit Mega Menu: La Vie de la Fédération === */
#menu-item-2393 > .elementskit-megamenu-panel {
    position: fixed !important;
    top: 140px !important; /* header 80px + ticker 42px + 18px gap so menu items remain clickable */
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 !important;
    background: #FFFFFF !important;
    box-shadow: 0 12px 24px rgba(0,0,0,0.06);
    padding: 0 !important;
    z-index: 25 !important;
}
#menu-item-2393 > .elementskit-megamenu-panel > .elementor {
    max-width: 1325px;
    margin: 0 auto;
    padding: 32px 24px 24px;
}
#menu-item-2393 > .elementskit-megamenu-panel .elementor-heading-title a {
    color: #1a1a1a;
    text-decoration: none;
}
#menu-item-2393 > .elementskit-megamenu-panel .elementor-heading-title a:hover {
    color: #FFD500;
}

/* Safety: prevent horizontal scroll caused by overflowing absolute/transformed elements */
html, body { overflow-x: hidden; }

/* Hover-bridge: keep mega menu open while crossing the ticker gap */
#menu-item-2393 > .elementskit-megamenu-panel {
    transition-delay: 0s, 0s, 0.25s, 0.25s !important; /* delay on hide so mouse can reach the panel */
}
.elementskit-navbar-nav-default.ekit-nav-dropdown-hover #menu-item-2393:hover > .elementskit-megamenu-panel,
#menu-item-2393 > .elementskit-megamenu-panel:hover,
#menu-item-2393.ek-mega-open > .elementskit-megamenu-panel {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
    transition-delay: 0s !important;
}
/* Invisible bridge above the panel, spanning the ticker gap */
#menu-item-2393 > .elementskit-megamenu-panel::before {
    content: "";
    position: absolute;
    top: -18px;
    left: 0;
    right: 0;
    height: 18px;
    background: transparent;
}

/* Hide mega menu when page scrolls past header */
#menu-item-2393.ek-scrolled-out > .elementskit-megamenu-panel,
#menu-item-2393.ek-scrolled-out:hover > .elementskit-megamenu-panel {
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

/* ============================================================
 * Responsive Header — Tablet (<1024px) & Mobile (<540px)
 * Styles ElementsKit's existing hamburger + offcanvas markup
 * to match the FACT design (dark navy panel + yellow accents).
 * ============================================================ */

/* --- Hamburger button (closed state, in the top bar) --- */
@media (max-width: 1024px) {
	.elementskit-menu-hamburger {
		background: transparent !important;
		border: none !important;
		padding: 6px 8px !important;
		cursor: pointer;
	}
	.elementskit-menu-hamburger-icon {
		display: block !important;
		width: 26px !important;
		height: 2px !important;
		background: #F5C518 !important;   /* yellow */
		margin: 6px 0 !important;
		border-radius: 2px;
		transition: all .25s ease;
	}

	/* --- Offcanvas slide-in panel --- */
	.elementskit-menu-container.elementskit-menu-offcanvas-elements {
		position: fixed !important;
		top: 0 !important;
		right: 0 !important;
		left: auto !important;
		bottom: 0 !important;
		height: 100vh !important;
		width: 360px !important;
		max-width: 100% !important;
		background: #23253D !important;
		color: #ffffff !important;
		transform: translateX(100%);
		transition: transform .3s ease !important;
		padding: 30px 36px !important;
		z-index: 9999 !important;
		overflow-y: auto !important;
		display: block !important;
	}
	.elementskit-menu-container.elementskit-menu-offcanvas-elements.active {
		transform: translateX(0) !important;
	}

	/* --- Identity panel (top of opened drawer: logo + close) --- */
	.elementskit-nav-identity-panel {
		display: flex !important;
		align-items: center !important;
		justify-content: flex-end !important;
		gap: 12px !important;
		margin-bottom: 36px !important;
		padding: 0 !important;
		border: none !important;
		background: transparent !important;
	}
	.elementskit-nav-identity-panel .elementskit-site-title,
	.elementskit-nav-identity-panel .site-logo,
	.elementskit-nav-identity-panel img {
		filter: brightness(0) invert(1);   /* white logo on dark bg */
	}

	/* --- Close button (yellow hamburger / X) --- */
	.elementskit-menu-close {
		background: transparent !important;
		color: #F5C518 !important;
		font-size: 26px !important;
		font-weight: 400 !important;
		line-height: 1 !important;
		border: none !important;
		cursor: pointer;
		padding: 6px 8px !important;
		width: auto !important;
		height: auto !important;
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
	}

	/* --- Menu items list --- */
	.elementskit-navbar-nav {
		display: block !important;
		list-style: none !important;
		padding: 0 !important;
		margin: 0 !important;
	}
	.elementskit-navbar-nav > li.nav-item {
		display: block !important;
		margin: 0 !important;
		padding: 0 !important;
		border: none !important;
	}
	.elementskit-navbar-nav > li > a,
	.elementskit-navbar-nav > li > a.ekit-menu-nav-link {
		display: block !important;
		color: #ffffff !important;
		font-size: 18px !important;
		font-weight: 600 !important;
		line-height: 1.3 !important;
		padding: 16px 0 !important;
		text-decoration: none !important;
		background: transparent !important;
		border: none !important;
		letter-spacing: -0.01em;
	}
	.elementskit-navbar-nav > li > a:hover,
	.elementskit-navbar-nav > li > a:focus,
	.elementskit-navbar-nav > li.current-menu-item > a {
		color: #F5C518 !important;
	}
	.elementskit-navbar-nav > li > a > svg.elementskit-submenu-indicator {
		fill: #ffffff;
		margin-left: 8px;
	}

	/* --- Mega menu inside the drawer: render inline, no float --- */
	.elementskit-megamenu-panel,
	#menu-item-2393 > .elementskit-megamenu-panel {
		position: static !important;
		top: auto !important;
		left: auto !important;
		right: auto !important;
		width: 100% !important;
		max-width: 100% !important;
		background: transparent !important;
		box-shadow: none !important;
		padding: 0 !important;
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
		pointer-events: auto !important;
	}
	.elementskit-megamenu-panel .elementor-heading-title a {
		color: #ffffff !important;
	}

	/* --- Backdrop overlay --- */
	.elementskit-menu-overlay {
		position: fixed !important;
		top: 0; left: 0; right: 0; bottom: 0;
		background: rgba(0,0,0,0.5) !important;
		z-index: 9998 !important;
		display: none;
	}
	.elementskit-menu-overlay.active {
		display: block;
	}

	/* Hide search button + login/CTA buttons inside the drawer area
	   (they'd look odd in the simple list) — uncomment if needed
	.ekit-template-content-header .search-header,
	.ekit-template-content-header .elementor-button-wrapper { display: none !important; }
	*/
}

/* --- Phone: drawer goes full-width --- */
@media (max-width: 540px) {
	.elementskit-menu-container.elementskit-menu-offcanvas-elements {
		width: 100% !important;
		padding: 26px 24px !important;
	}
}

/* ============================================================
 * Responsive Header v2 — full-screen drawer + hamburger on right
 * + search & CTA buttons moved into drawer (via inline JS below)
 * ============================================================ */

@media (max-width: 1024px) {

	/* --- Push hamburger / nav widget to the right of the header row --- */
	.ekit-template-content-header .elementor-widget-ekit-nav-menu {
		margin-left: auto !important;
		order: 999;
	}
	/* Just in case the row is flex but ordering isn't picked up */
	.ekit-template-content-header [class*="elementor-element-"]:has(.elementskit-menu-hamburger) {
		margin-left: auto !important;
		order: 999;
	}

	/* --- Hide the search button + ALL CTA buttons in the top bar.
	   They will be cloned/moved into the drawer via JS below. --- */
	.ekit-template-content-header .search-header,
	.ekit-template-content-header .elementor-widget-button {
		display: none !important;
	}

	/* --- Drawer: full-screen on tablet AND phone --- */
	.elementskit-menu-container.elementskit-menu-offcanvas-elements {
		position: fixed !important;
		top: 0 !important;
		right: 0 !important;
		left: 0 !important;
		bottom: 0 !important;
		width: 100vw !important;
		max-width: 100vw !important;
		height: 100vh !important;
		background: #23253D !important;
		color: #ffffff !important;
		transform: translateX(100%);
		transition: transform .3s ease !important;
		padding: 28px 32px !important;
		z-index: 9999 !important;
		overflow-y: auto !important;
		display: block !important;
	}
	.elementskit-menu-container.elementskit-menu-offcanvas-elements.active {
		transform: translateX(0) !important;
	}

	/* --- Identity panel: logo (left) + close (right) --- */
	.elementskit-nav-identity-panel {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 12px !important;
		margin: 0 0 28px 0 !important;
		padding: 0 !important;
		border: none !important;
		background: transparent !important;
	}
	.elementskit-nav-identity-panel img,
	.elementskit-nav-identity-panel .elementskit-site-title {
		filter: brightness(0) invert(1);  /* white logo on dark bg */
	}

	/* --- Close button: yellow hamburger / X icon --- */
	.elementskit-menu-close {
		background: transparent !important;
		color: #F5C518 !important;
		font-size: 28px !important;
		font-weight: 300 !important;
		line-height: 1 !important;
		border: none !important;
		cursor: pointer;
		padding: 4px 8px !important;
		width: auto !important;
		height: auto !important;
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
	}

	/* --- Hamburger button (in the closed top bar) — yellow --- */
	.elementskit-menu-hamburger {
		background: transparent !important;
		border: none !important;
		padding: 6px 8px !important;
		cursor: pointer;
	}
	.elementskit-menu-hamburger-icon {
		display: block !important;
		width: 26px !important;
		height: 2px !important;
		background: #F5C518 !important;
		margin: 6px 0 !important;
		border-radius: 2px;
	}

	/* --- Menu list --- */
	.elementskit-navbar-nav {
		display: block !important;
		list-style: none !important;
		padding: 0 !important;
		margin: 0 !important;
	}
	.elementskit-navbar-nav > li.nav-item {
		display: block !important;
		margin: 0 !important;
		padding: 0 !important;
		border: none !important;
	}
	.elementskit-navbar-nav > li > a,
	.elementskit-navbar-nav > li > a.ekit-menu-nav-link {
		display: block !important;
		color: #ffffff !important;
		font-size: 17px !important;
		font-weight: 600 !important;
		line-height: 1.3 !important;
		padding: 14px 0 !important;
		text-decoration: none !important;
		background: transparent !important;
		border: none !important;
		letter-spacing: -0.01em;
	}
	.elementskit-navbar-nav > li > a:hover,
	.elementskit-navbar-nav > li > a:focus,
	.elementskit-navbar-nav > li.current-menu-item > a {
		color: #F5C518 !important;
	}
	.elementskit-navbar-nav > li > a > svg.elementskit-submenu-indicator {
		fill: #ffffff;
		margin-left: 8px;
	}

	/* --- Mega menu inside the drawer: render inline --- */
	.elementskit-megamenu-panel,
	#menu-item-2393 > .elementskit-megamenu-panel {
		position: static !important;
		top: auto !important; left: auto !important; right: auto !important;
		width: 100% !important; max-width: 100% !important;
		background: transparent !important;
		box-shadow: none !important;
		padding: 0 !important;
		opacity: 1 !important; visibility: visible !important;
		transform: none !important; pointer-events: auto !important;
	}
	.elementskit-megamenu-panel .elementor-heading-title a { color: #ffffff !important; }

	/* --- Backdrop overlay (covers page behind drawer) --- */
	.elementskit-menu-overlay {
		position: fixed !important;
		top: 0; left: 0; right: 0; bottom: 0;
		background: rgba(0,0,0,0.5) !important;
		z-index: 9998 !important;
		display: none;
	}
	.elementskit-menu-overlay.active { display: block; }

	/* --- Extras section: search + CTA buttons cloned by JS, shown at bottom of drawer --- */
	.lac-mobile-extras {
		margin-top: 28px;
		padding-top: 22px;
		border-top: 1px solid rgba(255,255,255,0.10);
		display: flex;
		flex-direction: column;
		gap: 12px;
	}
	.lac-mobile-extras .ekit_navsearch-button {
		display: inline-flex;
		align-items: center;
		gap: 10px;
		color: #ffffff !important;
		font-size: 15px;
		font-weight: 600;
		padding: 12px 16px;
		border-radius: 999px;
		background: rgba(255,255,255,0.08);
		width: fit-content;
	}
	.lac-mobile-extras .ekit_navsearch-button:hover { background: rgba(255,255,255,0.14); }
	.lac-mobile-extras .ekit_navsearch-button svg { fill: currentColor; }
	.lac-mobile-extras .ekit_navsearch-button::after {
		content: "Recherche";
		display: inline-block;
	}

	.lac-mobile-extras .elementor-widget-button { width: 100%; display: block !important; }
	.lac-mobile-extras .elementor-widget-button .elementor-button {
		display: block !important;
		width: 100%;
		text-align: center;
		padding: 14px 18px !important;
		border-radius: 999px !important;
		font-weight: 700 !important;
		font-size: 15px !important;
	}
}

/* ============================================================
 * Responsive Header v3 — logo + yellow hamburger inside drawer
 * ============================================================ */
@media (max-width: 1024px) {

	/* Identity panel becomes the header row of the drawer */
	.elementskit-nav-identity-panel {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 12px !important;
		margin: 0 0 32px 0 !important;
		padding: 0 !important;
		border: none !important;
		background: transparent !important;
		width: 100%;
	}

	/* Cloned logo inside the drawer — force white */
	.elementskit-nav-identity-panel .lac-mobile-logo {
		display: flex;
		align-items: center;
	}
	.elementskit-nav-identity-panel .lac-mobile-logo img {
		max-height: 38px;
		width: auto;
		filter: brightness(0) invert(1);   /* turns the logo white */
	}

	/* Close button: hide the "X" character and render 3 yellow lines instead */
	.elementskit-menu-close {
		position: relative !important;
		background: transparent !important;
		color: transparent !important;          /* hide the "X" glyph */
		text-indent: -9999px;
		overflow: hidden;
		border: none !important;
		cursor: pointer;
		padding: 0 !important;
		width: 32px !important;
		height: 28px !important;
		display: inline-block !important;
		font-size: 0 !important;
	}
	.elementskit-menu-close::before,
	.elementskit-menu-close::after,
	.elementskit-menu-close > span {
		content: "";
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		width: 26px;
		height: 2px;
		background: #F5C518 !important;         /* yellow */
		border-radius: 2px;
		text-indent: 0;
	}
	.elementskit-menu-close::before { top: 4px; }
	.elementskit-menu-close::after  { bottom: 4px; }
	/* middle bar — synthesize via the (hidden) text via an inline span; if none,
	   create it with a third pseudo via background-image fallback */
	.elementskit-menu-close {
		background-image: linear-gradient(#F5C518, #F5C518) !important;
		background-size: 26px 2px !important;
		background-position: center center !important;
		background-repeat: no-repeat !important;
	}
}

/* === Drawer v4: identity panel pinned to top + remove logo filter === */
@media (max-width: 1024px) {
	.elementskit-menu-container.elementskit-menu-offcanvas-elements .elementskit-nav-identity-panel {
		order: -1;
	}
	.elementskit-nav-identity-panel .lac-mobile-logo img {
		filter: none !important;            /* logo is already white */
		max-height: 38px;
		width: auto;
		display: block;
	}
	.elementskit-menu-container.elementskit-menu-offcanvas-elements {
		display: flex !important;
		flex-direction: column !important;
	}
}

/* ============================================================
 * Responsive Header v5
 *  - Force logo + hamburger on same row in the header bar
 *  - Mega menu as simple collapsed submenu (white links)
 *  - Submenu arrow indicator: white, no border
 *  - Search & Login styled with #fcfcfc text/border
 * ============================================================ */

@media (max-width: 1024px) {

	/* === Force header section to keep logo + hamburger on ONE row === */
	.ekit-template-content-header .elementor-section .elementor-container {
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
	}
	.ekit-template-content-header .elementor-column {
		width: auto !important;
		flex: 0 0 auto !important;
	}
	/* Logo column = take whatever space it needs, hamburger column pushed right */
	.ekit-template-content-header .elementor-column:first-child {
		flex: 1 1 auto !important;
	}
	.ekit-template-content-header .elementor-column.elementor-element:has(.elementskit-menu-hamburger) {
		margin-left: auto !important;
		order: 999 !important;
	}

	/* === Submenu indicator (arrow): white, no border === */
	.elementskit-navbar-nav > li > a > svg.elementskit-submenu-indicator,
	.elementskit-navbar-nav .elementskit-submenu-indicator {
		fill: #ffffff !important;
		color: #ffffff !important;
		border: none !important;
		background: transparent !important;
		box-shadow: none !important;
		width: 12px;
		height: 12px;
		margin-left: 8px;
		transition: transform .2s ease;
	}
	.elementskit-navbar-nav > li.ekit_submenu_active > a > svg.elementskit-submenu-indicator,
	.elementskit-navbar-nav > li.elementskit-active > a > svg.elementskit-submenu-indicator {
		transform: rotate(180deg);
	}

	/* === Mega menu: hide by default, expand on toggle as simple list === */
	.elementskit-megamenu-panel,
	#menu-item-2393 > .elementskit-megamenu-panel {
		position: static !important;
		top: auto !important; left: auto !important; right: auto !important;
		width: 100% !important; max-width: 100% !important;
		background: transparent !important;
		box-shadow: none !important;
		padding: 6px 0 6px 18px !important;
		margin: 0 !important;
		opacity: 0;
		visibility: hidden;
		max-height: 0;
		overflow: hidden;
		transform: none !important;
		pointer-events: none;
		transition: max-height .25s ease, opacity .2s ease;
	}
	/* Show when active (ElementsKit adds .ekit_submenu_active or similar) */
	.elementskit-navbar-nav > li.ekit_submenu_active > .elementskit-megamenu-panel,
	.elementskit-navbar-nav > li.elementskit-active > .elementskit-megamenu-panel,
	.elementskit-navbar-nav > li.lac-open > .elementskit-megamenu-panel {
		opacity: 1 !important;
		visibility: visible !important;
		max-height: 800px !important;
		pointer-events: auto !important;
	}

	/* Strip heavy widgets inside the mega menu — show only the text links */
	.elementskit-megamenu-panel .elementor-widget-image,
	.elementskit-megamenu-panel .elementor-widget-divider,
	.elementskit-megamenu-panel .elementor-widget-spacer {
		display: none !important;
	}
	.elementskit-megamenu-panel .elementor-element,
	.elementskit-megamenu-panel .elementor-section,
	.elementskit-megamenu-panel .elementor-container,
	.elementskit-megamenu-panel .elementor-column,
	.elementskit-megamenu-panel .elementor-widget-wrap {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 !important;
		margin: 0 !important;
		background: transparent !important;
	}
	.elementskit-megamenu-panel .elementor-heading-title,
	.elementskit-megamenu-panel a {
		color: #ffffff !important;
		background: transparent !important;
		font-size: 15px !important;
		font-weight: 500 !important;
		line-height: 1.4 !important;
		padding: 8px 0 !important;
		display: block !important;
	}
	.elementskit-megamenu-panel a:hover { color: #F5C518 !important; }

	/* === Bottom extras: search + login/CTA styled with #fcfcfc === */
	.lac-mobile-extras { gap: 14px !important; }

	.lac-mobile-extras .ekit_navsearch-button {
		display: inline-flex !important;
		align-items: center !important;
		gap: 10px !important;
		color: #fcfcfc !important;
		font-size: 15px !important;
		font-weight: 600 !important;
		padding: 12px 18px !important;
		border-radius: 999px !important;
		background: transparent !important;
		border: 1px solid #fcfcfc !important;
		width: 100% !important;
		justify-content: center !important;
		text-decoration: none !important;
	}
	.lac-mobile-extras .ekit_navsearch-button:hover { background: rgba(252,252,252,0.08) !important; }
	.lac-mobile-extras .ekit_navsearch-button svg { fill: #fcfcfc !important; }
	.lac-mobile-extras .ekit_navsearch-button::after { content: "Recherche"; }

	/* Login (and any "transparent / outline" style button): #fcfcfc text + border */
	.lac-mobile-extras .elementor-widget-button .elementor-button {
		display: block !important;
		width: 100% !important;
		text-align: center !important;
		padding: 12px 18px !important;
		border-radius: 999px !important;
		font-weight: 700 !important;
		font-size: 15px !important;
		color: #fcfcfc !important;
		border: 1px solid #fcfcfc !important;
		background: transparent !important;
	}
	.lac-mobile-extras .elementor-widget-button .elementor-button:hover {
		background: rgba(252,252,252,0.10) !important;
	}
	/* Filled CTA (Devenir adhérent) — keep solid yellow look */
	.lac-mobile-extras .elementor-widget-button:first-of-type .elementor-button {
		background: #F5C518 !important;
		color: #23253D !important;
		border-color: #F5C518 !important;
	}
}

/* ============================================================
 * Responsive Header v6 — search restored, mega-menu sub items,
 * logo + hamburger same row via JS-moved widget
 * ============================================================ */

@media (max-width: 1024px) {

	/* === Restore display for cloned widgets inside the drawer === */
	.lac-mobile-extras .search-header,
	.lac-mobile-extras .elementor-widget-button {
		display: block !important;
	}

	/* === Hide search/CTAs ONLY in the visible top bar (not in drawer) === */
	/* Use child combinator so it doesn't catch clones inside the drawer */
	.ekit-template-content-header > .elementor .search-header,
	.ekit-template-content-header > .elementor .elementor-widget-button {
		display: none !important;
	}
	/* Re-enable if they live inside the drawer */
	.elementskit-menu-container .search-header,
	.elementskit-menu-container .elementor-widget-button,
	.lac-mobile-extras .search-header,
	.lac-mobile-extras .elementor-widget-button {
		display: block !important;
	}

	/* === Mega menu: ALWAYS show items inline as simple list === */
	.elementskit-megamenu-panel,
	#menu-item-2393 > .elementskit-megamenu-panel {
		position: static !important;
		width: 100% !important;
		max-width: 100% !important;
		background: transparent !important;
		box-shadow: none !important;
		padding: 4px 0 8px 18px !important;
		margin: 0 !important;
		opacity: 1 !important;
		visibility: visible !important;
		max-height: none !important;
		overflow: visible !important;
		transform: none !important;
		pointer-events: auto !important;
	}
	/* Hide descriptions, images, dividers, spacers — keep only headings/links */
	.elementskit-megamenu-panel .elementor-widget-image,
	.elementskit-megamenu-panel .elementor-widget-divider,
	.elementskit-megamenu-panel .elementor-widget-spacer,
	.elementskit-megamenu-panel .elementor-widget-text-editor,
	.elementskit-megamenu-panel .elementor-widget-text-path {
		display: none !important;
	}
	.elementskit-megamenu-panel .elementor-element,
	.elementskit-megamenu-panel .elementor-section,
	.elementskit-megamenu-panel .elementor-container,
	.elementskit-megamenu-panel .elementor-column,
	.elementskit-megamenu-panel .elementor-widget-wrap {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 !important;
		margin: 0 !important;
		background: transparent !important;
	}
	.elementskit-megamenu-panel .elementor-heading-title,
	.elementskit-megamenu-panel .elementor-heading-title a,
	.elementskit-megamenu-panel a {
		color: #ffffff !important;
		background: transparent !important;
		font-size: 15px !important;
		font-weight: 500 !important;
		line-height: 1.4 !important;
		padding: 8px 0 !important;
		display: block !important;
		text-decoration: none !important;
		border: none !important;
	}
	.elementskit-megamenu-panel a:hover,
	.elementskit-megamenu-panel .elementor-heading-title:hover {
		color: #F5C518 !important;
	}

	/* === Hamburger (in logo row after JS moves it) === */
	.lac-mobile-hamburger-wrap {
		margin-left: auto;
		display: flex;
		align-items: center;
	}
}

/* ============================================================
 * Responsive Header v7 — robust isolation, no broad hide rules
 * ============================================================ */

@media (max-width: 1024px) {

	/* === Logo row: flex container with hamburger pushed right === */
	.lac-logo-row {
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		justify-content: space-between !important;
		width: 100% !important;
		gap: 12px;
	}
	.lac-logo-row .elementor-widget-image {
		flex: 0 0 auto !important;
	}
	.lac-logo-row .elementskit-menu-hamburger {
		flex: 0 0 auto !important;
		margin-left: auto !important;
		background: transparent !important;
		border: none !important;
		padding: 6px 8px !important;
		cursor: pointer;
	}
	.lac-logo-row .elementskit-menu-hamburger-icon {
		display: block !important;
		width: 26px !important;
		height: 2px !important;
		background: #F5C518 !important;
		margin: 6px 0 !important;
		border-radius: 2px;
	}

	/* === Make sure drawer extras section can render its children === */
	.lac-mobile-extras .search-header,
	.lac-mobile-extras .elementor-widget-button,
	.lac-mobile-extras .elementor-element {
		display: block !important;
	}
}

/* === Header v8: hamburger absolute-positioned in logo row === */
@media (max-width: 1024px) {
	.lac-logo-row {
		position: relative !important;
		padding-right: 56px !important;
		display: block !important;
		text-align: left !important;
	}
	.lac-logo-row .elementor-widget-image,
	.lac-logo-row .elementor-widget-image .elementor-widget-container {
		text-align: left !important;
		display: block !important;
		width: auto !important;
	}
	.lac-logo-row .elementor-widget-image img { margin: 0 !important; display: block !important; }

	.lac-logo-row .elementskit-menu-hamburger {
		position: absolute !important;
		top: 50% !important;
		right: 0 !important;
		left: auto !important;
		transform: translateY(-50%) !important;
		background: transparent !important;
		border: none !important;
		padding: 6px 8px !important;
		margin: 0 !important;
		cursor: pointer;
		z-index: 100 !important;
		width: auto !important;
		height: auto !important;
	}
	.lac-logo-row .elementskit-menu-hamburger-icon {
		display: block !important;
		width: 26px !important;
		height: 2px !important;
		background: #F5C518 !important;
		margin: 6px 0 !important;
		border-radius: 2px;
	}
}

/* === Header v9: compact header height on mobile/tablet === */
@media (max-width: 1024px) {
	.ekit-template-content-header .elementor-section,
	.ekit-template-content-header .elementor-container {
		min-height: 0 !important;
	}
	.ekit-template-content-header .elementor-element {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}
	.ekit-template-content-header .elementor-widget-wrap.lac-logo-row {
		padding: 8px 16px !important;
		min-height: 56px !important;
	}
	.lac-logo-row .elementor-widget-image img {
		max-height: 38px !important;
		width: auto !important;
		height: auto !important;
	}
	/* Tighten the parent section padding */
	.ekit-template-content-header > .elementor > .elementor-section:first-child > .elementor-container {
		padding: 4px 0 !important;
	}
}

/* === Header v10: search icon inline next to hamburger === */
@media (max-width: 1024px) {
	.lac-logo-row {
		padding-right: 100px !important;   /* room for search + hamburger */
	}
	.lac-logo-row .lac-mobile-search-icon {
		position: absolute !important;
		top: 50% !important;
		right: 48px !important;            /* sits to the left of the hamburger */
		transform: translateY(-50%);
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		width: 32px; height: 32px;
		padding: 0 !important;
		background: transparent !important;
		border: none !important;
		color: #999 !important;
		text-decoration: none !important;
		z-index: 100;
	}
	.lac-logo-row .lac-mobile-search-icon::after { content: none !important; }
	.lac-logo-row .lac-mobile-search-icon svg {
		width: 18px; height: 18px;
		fill: none; stroke: currentColor;
	}
	/* Suppress search button text/labels if any */
	.lac-logo-row .lac-mobile-search-icon span,
	.lac-logo-row .lac-mobile-search-icon::before { display: none !important; }
}

/* === Logo: force visible, left-aligned, bigger on tablet/mobile === */
@media (max-width: 1024px) {
	.lac-logo-row,
	.lac-logo-row > * {
		text-align: left !important;
	}
	.lac-logo-row .elementor-widget-image {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		text-align: left !important;
		max-width: calc(100% - 110px) !important;  /* leave room for search + hamburger */
	}
	.lac-logo-row .elementor-widget-image .elementor-widget-container,
	.lac-logo-row .elementor-widget-image a {
		text-align: left !important;
		display: inline-block !important;
	}
	.lac-logo-row .elementor-widget-image img {
		max-height: 56px !important;
		width: auto !important;
		height: auto !important;
		margin: 0 !important;
		display: block !important;
		object-fit: contain;
	}
	/* Slightly taller header so the bigger logo fits comfortably */
	.ekit-template-content-header .elementor-widget-wrap.lac-logo-row {
		padding: 10px 16px !important;
		min-height: 72px !important;
	}
}

/* === Logo fix: forcibly show & left-align inside the e-con container === */
@media (max-width: 1024px) {
	/* Force the inner header container to flex-row, logo on left */
	.ekit-template-content-header .e-con.e-child {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: flex-start !important;
		gap: 12px !important;
		padding: 10px 16px !important;
		min-height: 72px !important;
		position: relative !important;
	}

	/* Logo: visible, left, sized */
	.ekit-template-content-header .e-con.e-child > .elementor-widget-image,
	.ekit-template-content-header .elementor-element-b8fa318 {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		flex: 0 0 auto !important;
		width: auto !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 !important;
		text-align: left !important;
	}
	.ekit-template-content-header .e-con.e-child > .elementor-widget-image .elementor-widget-container,
	.ekit-template-content-header .e-con.e-child > .elementor-widget-image a {
		display: inline-block !important;
		text-align: left !important;
	}
	.ekit-template-content-header .e-con.e-child > .elementor-widget-image img {
		display: block !important;
		max-height: 56px !important;
		height: auto !important;
		width: auto !important;
		max-width: none !important;
		object-fit: contain;
	}

	/* Nav menu widget (contains drawer + originally the hamburger) takes minimal space */
	.ekit-template-content-header .e-con.e-child > .elementor-widget-ekit-nav-menu {
		flex: 0 0 auto !important;
		margin-left: auto !important;
		width: auto !important;
	}
}

/* === Hamburger menu icon color: #303048 closed, yellow when drawer open === */
@media (max-width: 1024px) {
	.elementskit-menu-hamburger-icon,
	.lac-logo-row .elementskit-menu-hamburger-icon {
		background: #303048 !important;
	}
	/* When drawer is open, switch hamburger lines to yellow */
	.elementskit-menu-container.elementskit-menu-offcanvas-elements.active ~ * .elementskit-menu-hamburger-icon,
	body:has(.elementskit-menu-container.elementskit-menu-offcanvas-elements.active) .elementskit-menu-hamburger-icon {
		background: #F5C518 !important;
	}
}

/* === Hero events: stacked below hero on tablet & mobile === */

/* Section title — hidden on desktop, shown on tablet/mobile */
.wz-hero-events-title { display: none; }

/* Card description: hidden by default (only used on tablet) */
.wz-hero-event-desc {
	margin: 0;
	font-family: Inter, sans-serif;
	font-size: 13px;
	font-weight: 400;
	line-height: 140%;
	color: rgba(252,252,252,0.72);
	display: none;
}

/* Tablet & smaller — flow below the hero, not absolute-right */
@media (max-width: 1024px) {
	.wz-hero-events {
		position: static !important;
		right: auto !important;
		bottom: auto !important;
		width: 100% !important;
		max-width: 100% !important;
		padding: 16px;
		margin-top: 16px;
	}
	.wz-hero-events-title {
		display: block !important;
		margin: 0 0 12px 0;
		font-family: Inter, sans-serif;
		font-size: 20px;
		font-weight: 700;
		line-height: 1.2;
		color: #fcfcfc;
	}
	.wz-hero-event-desc { display: block; }   /* show description on tablet */
	.wz-hero-event-title { font-size: 20px !important; }
}

/* Mobile — hide the description */
@media (max-width: 767px) {
	.wz-hero-event-desc { display: none !important; }
	.wz-hero-events { padding: 12px; margin-top: 12px; }
	.wz-hero-events-title { font-size: 20px; }
	.wz-hero-event-title { font-size: 20px !important; }
}

/* === Hero events: card sizing + rounded all-sides on tablet/mobile === */
@media (max-width: 1024px) {
	.wz-hero-events-track {
		--card-w: 88vw !important;        /* full-ish width, allows peek of next card */
		--peek: 24px !important;
	}
	.wz-hero-event-card {
		flex: 0 0 var(--card-w) !important;
		width: var(--card-w) !important;
		min-width: 0 !important;          /* remove 466px floor */
		padding-right: 14px !important;
	}
	.wz-hero-event-link {
		border-radius: 20px !important;   /* all four corners */
		min-height: 0 !important;
	}
	.wz-hero-event-stretched {
		border-radius: 20px !important;
	}

	/* spacing between meta/title/desc/button */
	.wz-hero-event-meta  { margin: 0 0 8px !important; }
	.wz-hero-event-title { margin: 0 0 10px !important; }
	.wz-hero-event-desc  { margin: 0 0 14px !important; }
	.wz-hero-event-btn   { margin-top: 4px !important; }
}

@media (max-width: 767px) {
	.wz-hero-events-track {
		--card-w: 84vw !important;
		--peek: 16px !important;
	}
	.wz-hero-event-card {
		flex: 0 0 var(--card-w) !important;
		width: var(--card-w) !important;
		min-width: 0 !important;
		padding-right: 12px !important;
	}
	.wz-hero-event-link {
		border-radius: 18px !important;
	}
	.wz-hero-event-stretched {
		border-radius: 18px !important;
	}
	.wz-hero-event-meta  { margin: 0 0 6px !important; }
	.wz-hero-event-title { margin: 0 0 10px !important; }
	.wz-hero-event-btn   { margin-top: 2px !important; }
}

/* === Hero events: equal card heights on tablet & mobile === */
@media (max-width: 1024px) {
	.wz-hero-events-track {
		align-items: stretch !important;
	}
	.wz-hero-event-card {
		display: flex !important;
	}
	.wz-hero-event-link {
		height: 100% !important;
		width: 100% !important;
		align-items: stretch !important;
	}
	.wz-hero-event-content {
		justify-content: flex-start !important;
	}
}

/* === wz_events_grid: hide icon meta rows on desktop === */
.wz-event-meta-rows { display: none; }

/* === MOBILE: 2-up cards, full-image with title overlay === */
@media (max-width: 767px) {
	.wz-events-grid {
		--card-w: 44vw !important;
		--card-h: 64vh !important;
		--peek: 16px !important;
		gap: 14px !important;
	}
	.wz-event-card,
	.wz-event-card:hover,
	.wz-event-card:focus-within {
		flex: 0 0 var(--card-w) !important;
		width: var(--card-w) !important;
		min-width: var(--card-w) !important;
		height: var(--card-h) !important;
		transform: none !important;
		box-shadow: 0 4px 14px rgba(0,0,0,0.10) !important;
	}
	.wz-event-card,
	.wz-event-media,
	.wz-event-card:hover .wz-event-media {
		border-radius: 22px !important;
	}
	.wz-event-card:hover .wz-event-media,
	.wz-event-card:focus-within .wz-event-media {
		height: 100% !important;
		border-bottom-left-radius: 22px !important;
		border-bottom-right-radius: 22px !important;
	}
	/* Hide the expanded info panel entirely */
	.wz-event-panel { display: none !important; }
	/* Hide bracketed date AND icon rows on mobile */
	.wz-event-date,
	.wz-event-meta-rows { display: none !important; }
	/* Keep collapsed title visible at bottom, white */
	.wz-event-collapsed {
		width: 100% !important;
		height: auto !important;
		padding: 16px !important;
		bottom: 0 !important;
		top: auto !important;
		display: flex !important;
		align-items: flex-end !important;
	}
	.wz-event-title-collapsed {
		font-size: 18px !important;
		font-weight: 700 !important;
		line-height: 1.2 !important;
		color: #fcfcfc !important;
		margin: 0 !important;
	}
	/* Stronger dark gradient at bottom over the image */
	.wz-event-overlay,
	.wz-event-card:hover .wz-event-overlay,
	.wz-event-card:focus-within .wz-event-overlay {
		opacity: 1 !important;
		background: linear-gradient(to top, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.35) 35%, rgba(0,0,0,0) 65%) !important;
	}
	.wz-event-overlay::after { display: none !important; }
	/* Badge top-left, light pill */
	.wz-event-badge,
	.wz-event-card:hover .wz-event-badge,
	.wz-event-card:focus-within .wz-event-badge {
		top: 12px !important;
		bottom: auto !important;
		left: 12px !important;
		background: rgba(255,255,255,0.92) !important;
		color: #23253D !important;
		font-size: 10px !important;
		font-weight: 600 !important;
		padding: 4px 10px !important;
		border: none !important;
	}
}

/* === TABLET (768-1024): white cards, image on top, icon-meta below === */

/* === Tap-to-open mirror: .is-open behaves like :hover for touch tablets === */
.wz-event-card.is-open{
	flex-basis:var(--card-open) !important;
	width:var(--card-open) !important;
	min-width:var(--card-open) !important;
	transform:translateY(-2px) !important;
	box-shadow:0 4px 4px 0 rgba(83, 83, 103, 0.2) !important;
	z-index:3 !important;
}
.wz-event-card.is-open .wz-event-media{
	height:calc(100% - var(--panel-h)) !important;
	border-bottom-left-radius:0 !important;
	border-bottom-right-radius:0 !important;
}
.wz-event-card.is-open .wz-event-img{
	transform:scale(1.02) !important;
}
.wz-event-card.is-open .wz-event-overlay,
.wz-event-card.is-open .wz-event-overlay::after{
	opacity:0 !important;
}
.wz-event-card.is-open .wz-event-badge{
	bottom:18px !important;
}
.wz-event-card.is-open .wz-event-collapsed{
	opacity:0 !important;
}
.wz-event-card.is-open .wz-event-panel{
	opacity:1 !important;
	transform:translateY(0) !important;
}

/* === Tablet: stronger blur bar + auto-open one card so date/meta show === */
@media (min-width: 768px) and (max-width: 1366px) {
	/* Make the blur bar more visible (darker + thicker tint behind blur) */
	.wz-event-card .wz-event-overlay::after {
		background: rgba(34, 34, 50, 0.55) !important;
		-webkit-backdrop-filter: blur(28px) !important;
		backdrop-filter: blur(28px) !important;
		height: 220px !important;
	}
	/* In case overflow:hidden parent clips the blur — let it through */
	.wz-event-media { isolation: isolate; }
}

/* === Tablet: explicit dark blur-bar on .wz-event-collapsed (visible regardless of backdrop-filter support) === */
@media (min-width: 768px) and (max-width: 1366px) {
	.wz-event-card .wz-event-collapsed {
		background: linear-gradient(
			to bottom,
			rgba(34,34,50,0) 0%,
			rgba(34,34,50,0.50) 15%,
			rgba(34,34,50,0.85) 50%,
			rgba(34,34,50,0.92) 100%
		) !important;
		-webkit-backdrop-filter: blur(14px) !important;
		backdrop-filter: blur(14px) !important;
		width: 100% !important;
		padding: 30px 18px 24px !important;
	}
	/* Hide on open state */
	.wz-event-card:hover .wz-event-collapsed,
	.wz-event-card:focus-within .wz-event-collapsed,
	.wz-event-card.is-open .wz-event-collapsed {
		opacity: 0 !important;
	}

}
/* ============================================================
 * Testimonials — Mobile redesign v3 (<768px)
 *  - 287px card, transparent bg, border #FCFCFC1C
 *  - Top row: photo + name/position
 *  - Middle: quote with “ ” marks
 *  - Bottom: logo pill
 * ============================================================ */
@media (max-width: 767px) {
	.wz-testi-track { --gap: 16px !important; --peek: 40px !important; }

	.wz-testi-card {
		flex: 0 0 287px !important;
		width: 287px !important;
		min-width: 287px !important;
		max-width: 287px !important;
		height: auto !important;
		min-height: 360px !important;
		background: transparent !important;
		border: 1px solid #FCFCFC1C !important;
		border-radius: 22px !important;
		padding: 20px !important;
		box-shadow: none !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 14px !important;
		overflow: visible !important;
		color: #fcfcfc !important;
	}

	/* Photo — small circle, top-left */
	.wz-testi-card-bg {
		position: relative !important;
		inset: auto !important;
		width: 50px !important;
		height: 50px !important;
		flex: 0 0 50px !important;
		border-radius: 50% !important;
		overflow: hidden !important;
		margin: 0 !important;
		order: 1 !important;
		align-self: flex-start !important;
	}
	.wz-testi-card-bg img {
		position: static !important;
		inset: auto !important;
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		display: block !important;
		border-radius: 50% !important;
	}

	/* Overlay contains the quote + meta */
	.wz-testi-card-overlay {
		position: relative !important;
		inset: auto !important;
		display: flex !important;
		flex-direction: column !important;
		background: transparent !important;
		padding: 0 !important;
		min-height: 0 !important;
		order: 2 !important;
		gap: 12px !important;
	}

	/* Pull name + position up next to the photo above */
	.wz-testi-card-meta {
		order: -1 !important;
		margin-top: -64px !important;
		margin-left: 62px !important;
		padding: 0 !important;
	}
	.wz-testi-card-name {
		font-family: Inter, sans-serif !important;
		font-size: 16px !important;
		font-weight: 700 !important;
		line-height: 1.2 !important;
		color: #fcfcfc !important;
		margin: 0 0 4px 0 !important;
	}
	.wz-testi-card-position {
		font-family: Inter, sans-serif !important;
		font-size: 12px !important;
		font-weight: 400 !important;
		line-height: 1.2 !important;
		color: rgba(252,252,252,0.6) !important;
		margin: 0 !important;
	}

	.wz-testi-card-quote {
		position: relative !important;
		font-family: Inter, sans-serif !important;
		font-size: 15px !important;
		font-weight: 400 !important;
		line-height: 1.45 !important;
		color: #fcfcfc !important;
		padding: 6px 22px !important;
		margin: 6px 0 0 0 !important;
		background: transparent !important;
	}
	.wz-testi-card-quote::before,
	.wz-testi-card-quote::after {
		position: absolute !important;
		font-family: Georgia, serif !important;
		font-size: 32px !important;
		font-weight: 700 !important;
		line-height: 1 !important;
		color: rgba(252,252,252,0.85) !important;
	}
	.wz-testi-card-quote::before {
		content: "\201C" !important;
		top: -8px !important;
		left: 0 !important;
	}
	.wz-testi-card-quote::after {
		content: "\201D" !important;
		bottom: -14px !important;
		right: 0 !important;
	}

	/* Logo pill — at the bottom */
	.wz-testi-card-logo {
		position: relative !important;
		inset: auto !important;
		top: auto !important;
		left: auto !important;
		right: auto !important;
		bottom: auto !important;
		order: 3 !important;
		align-self: flex-start !important;
		margin: 16px 0 0 0 !important;
		padding: 8px 14px !important;
		background: rgba(252,252,252,0.06) !important;
		border: 1px solid #FCFCFC1C !important;
		border-radius: 999px !important;
		min-height: 32px !important;
		display: inline-flex !important;
		align-items: center !important;
	}
	.wz-testi-card-logo img {
		max-height: 14px !important;
		width: auto !important;
	}
}

/* === Mobile testi tweaks: auto height + remove overlay bg + row spacing === */
@media (max-width: 767px) {
	.wz-testi-track {
		align-items: flex-start !important;   /* don't stretch cards to tallest */
	}
	.wz-testi-card {
		min-height: 0 !important;
		height: auto !important;
		align-self: flex-start !important;
		gap: 18px !important;                  /* more space between flex children */
	}
	.wz-testi-card-overlay::before {
		display: none !important;
		background: none !important;
		content: none !important;
	}
	.wz-testi-card-overlay {
		gap: 18px !important;                  /* space between quote and meta inside overlay */
	}
}

/* ============================================================
 * Desktop header nav: tight yellow underline on hover + active
 * (native text-decoration so the line sits right under the word)
 * ============================================================ */
@media (min-width: 1025px) {
	.elementskit-navbar-nav > li.nav-item > a,
	.elementskit-navbar-nav > li.nav-item > a.ekit-menu-nav-link {
		text-decoration: none !important;
		text-underline-offset: 2px;
		text-decoration-thickness: 2px;
		transition: text-decoration-color .2s ease, color .2s ease;
	}
	.elementskit-navbar-nav > li.nav-item:hover > a,
	.elementskit-navbar-nav > li.nav-item:hover > a.ekit-menu-nav-link,
	.elementskit-navbar-nav > li.nav-item:focus-within > a,
	.elementskit-navbar-nav > li.nav-item.current-menu-item > a,
	.elementskit-navbar-nav > li.nav-item.current-menu-ancestor > a,
	.elementskit-navbar-nav > li.nav-item.current-menu-parent > a {
		text-decoration: underline !important;
		text-decoration-color: #FFD500 !important;
		text-decoration-thickness: 2px !important;
		text-underline-offset: 2px !important;
		color: inherit !important;
	}
}

/* ============================================================
 * Keep header row on a single line on smaller desktops
 * (logo + nav + CTA must not wrap to a second line)
 * ============================================================ */
@media (min-width: 1025px) {
	.ekit-template-content-header .elementor-15 > .e-con,
	.ekit-template-content-header .elementor-15 > .e-con > .e-con-inner {
		flex-wrap: nowrap !important;
	}
	.ekit-template-content-header .elementskit-navbar-nav {
		flex-wrap: nowrap !important;
	}
	/* Tighten the nav so it fits without wrapping on narrow desktops */
	.elementskit-navbar-nav > li.nav-item > a,
	.elementskit-navbar-nav > li.nav-item > a.ekit-menu-nav-link {
		white-space: nowrap !important;
	}
}
/* Header CTA buttons (Devenir adhérent / Login): always single-line */
@media (min-width: 1025px) {
	.ekit-template-content-header .elementor-button,
	.ekit-template-content-header .elementor-widget-button .elementor-button-text {
		white-space: nowrap !important;
	}
}

/* Narrow desktops (1025–1600px): tighten nav + CTA so nothing overlaps or wraps */
@media (min-width: 1025px) and (max-width: 1600px) {
	.elementskit-navbar-nav > li.nav-item > a,
	.elementskit-navbar-nav > li.nav-item > a.ekit-menu-nav-link {
		padding-left: 9px !important;
		padding-right: 9px !important;
		font-size: 14px !important;
	}
	.ekit-template-content-header .elementor-element.elementor-element-b08451b {
		--width: auto !important;
		flex: 0 0 auto !important;
	}
	.ekit-template-content-header .elementor-button {
		padding: 14px 20px !important;
		font-size: 13px !important;
		line-height: 1.2 !important;
	}
	.ekit-template-content-header .ekit_navsearch-button {
		margin-left: 4px !important;
		margin-right: 4px !important;
	}
}

/* Very narrow desktops (1025–1280px): shrink further */
@media (min-width: 1025px) and (max-width: 1280px) {
	.elementskit-navbar-nav > li.nav-item > a,
	.elementskit-navbar-nav > li.nav-item > a.ekit-menu-nav-link {
		padding-left: 7px !important;
		padding-right: 7px !important;
		font-size: 13px !important;
	}
	.ekit-template-content-header .elementor-button {
		padding: 12px 16px !important;
		font-size: 12px !important;
	}
}

/* ============================================================
 * Drawing arc around an Elementor Icon widget
 * Usage: add CSS class `fact-rotating-arc` in Advanced → CSS Classes
 *        on any Icon widget (View: Stacked + Shape: Circle).
 * Effect: a yellow→gold line draws itself from the top of the
 *         circle, traces all the way around, then restarts.
 * ============================================================ */
@property --fact-arc-end {
	syntax: '<angle>';
	initial-value: 0deg;
	inherits: false;
}
.fact-rotating-arc .elementor-icon {
	position: relative;
	isolation: isolate;
	overflow: visible !important;
}
.fact-rotating-arc .elementor-icon::before {
	content: "";
	position: absolute;
	inset: -10px;
	border-radius: 50%;
	padding: 4px;
	background: conic-gradient(
		from -90deg,
		rgba(255, 213, 0, 0) 0deg,
		#FFD500 var(--fact-arc-end, 0deg),
		transparent var(--fact-arc-end, 0deg)
	);
	-webkit-mask:
		linear-gradient(#000 0 0) content-box,
		linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
	        mask-composite: exclude;
	animation: factDrawingArc 6s linear infinite;
	z-index: -1;
	pointer-events: none;
}
@keyframes factDrawingArc {
	0%   { --fact-arc-end: 0deg; }
	100% { --fact-arc-end: 360deg; }
}
@media (prefers-reduced-motion: reduce) {
	.fact-rotating-arc .elementor-icon::before { animation: none; }
}

@media (max-width: 1024px) {
	body .ekit-template-content-header .elementor-element.elementor-element-209437d {
		--flex-direction: row !important;
		--flex-wrap-mobile: nowrap !important;
		--justify-content: flex-start !important;
		--align-items: center !important;
		--gap: 0px !important;
	}
	body .ekit-template-content-header .elementor-element.elementor-element-209437d > .e-con-inner {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: flex-start !important;
		gap: 0 !important;
		padding: 0 !important;
		min-height: 0 !important;
	}
	body .ekit-template-content-header .elementor-element.elementor-element-b08451b {
		--width: 100% !important;
		--flex-grow: 1 !important;
		--flex-shrink: 1 !important;
		width: 100% !important;
		max-width: 100% !important;
		flex: 1 1 100% !important;
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: flex-start !important;
		position: relative !important;
		padding: 8px 16px !important;
		min-height: 56px !important;
		max-height: none !important;
		order: 1 !important;
		gap: 0 !important;
	}
	body .ekit-template-content-header .elementor-element.elementor-element-0d62933,
	body .ekit-template-content-header .elementor-element.elementor-element-75a12b9 {
		--width: 0px !important;
		--flex-grow: 0 !important;
		--flex-shrink: 0 !important;
		width: 0 !important;
		max-width: 0 !important;
		min-width: 0 !important;
		height: 0 !important;
		min-height: 0 !important;
		max-height: 0 !important;
		padding: 0 !important;
		margin: 0 !important;
		border: 0 !important;
		overflow: visible !important;
		order: 99 !important;
		flex: 0 0 0 !important;
	}
	body .ekit-template-content-header .elementor-element.elementor-element-b08451b > .elementor-widget-image {
		flex: 0 0 auto !important;
		margin: 0 auto 0 0 !important;
		width: auto !important;
		max-width: 60% !important;
		padding: 0 !important;
		text-align: left !important;
	}
	body .ekit-template-content-header .elementor-element.elementor-element-b08451b > .elementor-widget-image .elementor-widget-container,
	body .ekit-template-content-header .elementor-element.elementor-element-b08451b > .elementor-widget-image a {
		display: inline-block !important;
		text-align: left !important;
		padding: 0 !important;
		margin: 0 !important;
	}
	body .ekit-template-content-header .elementor-element.elementor-element-b08451b > .elementor-widget-image img {
		display: block !important;
		max-height: 40px !important;
		height: auto !important;
		width: auto !important;
		max-width: 100% !important;
		margin: 0 !important;
		object-fit: contain !important;
	}
	body .ekit-template-content-header .elementor-element.elementor-element-b08451b .lac-mobile-search-icon {
		position: absolute !important;
		top: 50% !important;
		right: 56px !important;
		left: auto !important;
		transform: translateY(-50%) !important;
		z-index: 100 !important;
	}
	body .ekit-template-content-header .elementor-element.elementor-element-b08451b .elementskit-menu-hamburger {
		position: absolute !important;
		top: 50% !important;
		right: 16px !important;
		left: auto !important;
		transform: translateY(-50%) !important;
		margin: 0 !important;
		padding: 6px 8px !important;
		float: none !important;
		z-index: 100 !important;
	}
}

/* Show video backgrounds on mobile + tablet (Elementor hides them by default). */
@media (max-width: 1024px) {
	.elementor :is(.e-con, .e-con > .e-con-inner) > .elementor-background-video-container,
	.elementor .elementor-background-video-container.elementor-hidden-mobile,
	.elementor .elementor-background-video-container.elementor-hidden-tablet {
		display: block !important;
	}
	.elementor .elementor-background-video-container .elementor-background-video-hosted {
		display: block !important;
	}
}

/* Force video bg to COVER on mobile + tablet. Elementors JS that sizes
 * the video to cover never runs on mobile, so the <video> has no explicit
 * width/height and falls back to intrinsic size. Stretch it to fill the
 * container and let object-fit:cover crop the overflow. */
@media (max-width: 1024px) {
	.elementor .elementor-background-video-container .elementor-background-video-hosted {
		width: 100% !important;
		height: 100% !important;
		min-width: 100% !important;
		min-height: 100% !important;
		max-width: none !important;
		max-height: none !important;
		object-fit: cover !important;
		object-position: center !important;
		top: 0 !important;
		left: 0 !important;
		inset-block-start: 0 !important;
		inset-inline-start: 0 !important;
		transform: none !important;
	}
}
