/* ==========================================================================
   Your Life in Balance — theme styles
   Values come from the "Your Life in Balance" design system (tokens.json).
   ========================================================================== */

@font-face {
	font-family: "Archivo Black";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/archivo-black-latin-400-normal.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Archivo Black";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/archivo-black-latin-ext-400-normal.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Lora";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/lora-latin-ext-400-normal.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: "Lora";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/lora-latin-400-normal.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Lora";
	font-style: italic;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/lora-latin-ext-400-italic.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: "Lora";
	font-style: italic;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/lora-latin-400-italic.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Lora";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("../fonts/lora-latin-ext-700-normal.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: "Lora";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("../fonts/lora-latin-700-normal.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Lora";
	font-style: italic;
	font-weight: 700;
	font-display: swap;
	src: url("../fonts/lora-latin-ext-700-italic.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: "Lora";
	font-style: italic;
	font-weight: 700;
	font-display: swap;
	src: url("../fonts/lora-latin-700-italic.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
	--brand-green: #9db668;
	--brand-leaf: #add35d;
	--brand-rule: #8bc34a;
	--brand-deep: #5e7a2c;
	--button-top: #cce88f;
	--button-bottom: #abd75c;
	--button-ink: #577810;
	--ink: #333333;
	--text: #747474;
	--border: #d2d2d2;
	--rule: #e5e5e5;
	--surface: #ffffff;
	--on-brand: #ffffff;
	--footer-surface: #363839;
	--footer-base: #282a2b;
	--footer-text: #8c8989;
	--footer-link: #bfbfbf;

	--font-display: "Archivo Black", "Arial Black", Arial, sans-serif;
	--font-body: Lora, Georgia, "Times New Roman", serif;
	--font-ui: Arial, "Helvetica Neue", Helvetica, sans-serif;

	--site-width: 1100px;
	--content-width: 766px;
	--topbar-height: 44px;
	--nav-height: 43px;
	--nav-gap: 45px;
	--button-height: 43px;
	--button-pad-x: 29px;
	--field-height: 29px;
	--field-label-gap: 10px;
	--field-gap: 20px;
	--rule-heavy: 4px;
	--nav-active-bar: 3px;
	--gutter: 20px;
}

/*
 * Elementor Site Settings drive these: when a global colour or font is changed in
 * Elementor (Site Settings → Global Colors / Global Fonts), the theme's own parts
 * (fallback header/footer, forms, menu styling) follow. Elementor prints the
 * --e-global-* variables on <body class="elementor-kit-N">, so they are mapped here.
 */
body {
	--brand-green: var(--e-global-color-primary, #9db668);
	--ink: var(--e-global-color-secondary, #333333);
	--text: var(--e-global-color-text, #747474);
	--button-bottom: var(--e-global-color-accent, #abd75c);
	--brand-deep: var(--e-global-color-ylbdeep, #5e7a2c);
	--brand-rule: var(--e-global-color-ylbrule, #8bc34a);
	--brand-leaf: var(--e-global-color-ylbleaf, #add35d);
	--button-top: var(--e-global-color-ylbbtnt, #cce88f);
	--button-ink: var(--e-global-color-ylbbtni, #577810);
	--border: var(--e-global-color-ylbbord, #d2d2d2);
	--rule: var(--e-global-color-ylbhair, #e5e5e5);
	--footer-surface: var(--e-global-color-ylbfoot, #363839);
	--footer-base: var(--e-global-color-ylbbase, #282a2b);
	--footer-text: var(--e-global-color-ylbftxt, #8c8989);
	--footer-link: var(--e-global-color-ylbflnk, #bfbfbf);
	--font-display: var(--e-global-typography-primary-font-family, "Archivo Black"), "Arial Black", Arial, sans-serif;
	--font-body: var(--e-global-typography-text-font-family, "Lora"), Georgia, "Times New Roman", serif;
	--font-ui: var(--e-global-typography-accent-font-family, "Arial"), "Helvetica Neue", Helvetica, sans-serif;
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	background: var(--surface);
	color: var(--text);
	font-family: var(--font-body);
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; }
a { color: var(--ink); text-decoration: none; }
a:hover, a:focus { color: var(--brand-deep); text-decoration: underline; }
:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }

h1, h2, h3, h4, h5, h6 { margin: 0 0 .6em; font-weight: 400; }
h1 { font: 400 34px/1.2 var(--font-display); color: var(--ink); }
h2 { font: 400 24px/1.25 var(--font-display); color: var(--brand-green); }
h3 { font: 400 20px/1.3 var(--font-display); color: var(--brand-green); }
h4 { font: 700 16px/1.4 var(--font-body); color: var(--text); }
h5, h6 { font: 700 15px/1.4 var(--font-body); color: var(--text); }
p { margin: 0 0 1.25em; }
ul, ol { margin: 0 0 1.25em; padding-left: 1.4em; }
li { margin: 0 0 .2em; }
strong, b { color: inherit; }
blockquote { margin: 0 0 1.25em; padding: 12px 20px; background: #f6f6f6; font-style: italic; }
hr { border: 0; height: 1px; background: var(--rule); margin: 2em 0; }

.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px); white-space: nowrap;
}
.skip-link:focus {
	clip: auto; width: auto; height: auto; z-index: 1000; top: 8px; left: 8px;
	padding: 10px 16px; background: var(--surface); color: var(--ink);
}

.ylib-wrap { width: 100%; max-width: var(--site-width); margin: 0 auto; padding: 0 var(--gutter); }
.ylib-content { padding-top: 50px; padding-bottom: 60px; }
.ylib-entry { max-width: calc(var(--content-width) + 2 * var(--gutter)); margin-left: max(0px, calc((100% - var(--site-width)) / 2)); }

/* ---------- Buttons ----------
 * Elementor buttons are styled by Site Settings → Buttons (gradient, colours, font).
 * These rules only cover the theme's own buttons and Contact Form 7's submit button.
 */
.ylib-button,
.wpcf7 input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: var(--button-height);
	padding: 11px var(--button-pad-x);
	border: 0;
	border-radius: 0;
	background-color: var(--button-bottom);
	background-image: linear-gradient(var(--button-top), var(--button-bottom));
	color: var(--button-ink);
	font: 700 14px/20px var(--font-ui);
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: background-color .2s ease;
}
.ylib-button:hover, .ylib-button:focus,
.wpcf7 input[type="submit"]:hover {
	background-image: none;
	background-color: var(--button-bottom);
	color: var(--button-ink);
	text-decoration: none;
}

/* ---------- Header ---------- */
.ylib-topbar {
	background: var(--brand-green);
	color: var(--on-brand);
	font-family: var(--font-ui);
	font-size: 13px;
	line-height: 1.4;
}
.ylib-topbar__inner {
	max-width: var(--site-width);
	min-height: var(--topbar-height);
	margin: 0 auto;
	padding: 8px var(--gutter);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 4px 6px;
}
.ylib-topbar a { color: var(--on-brand); }
.ylib-topbar a:hover { color: var(--on-brand); text-decoration: underline; }

.ylib-brand {
	display: flex;
	justify-content: center;
	padding: 10px var(--gutter) 14px;
	background: var(--surface);
}
.ylib-brand .custom-logo-link { display: block; line-height: 0; }
.ylib-brand img { width: auto; max-height: 130px; }

.ylib-nav {
	position: relative;
	z-index: 50;
	background: var(--surface);
	border-top: 1px solid var(--rule);
	border-bottom: 1px solid var(--rule);
}
.ylib-menu {
	list-style: none;
	margin: 0 auto;
	padding: 0 var(--gutter);
	max-width: var(--site-width);
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	column-gap: var(--nav-gap);
}
.ylib-menu li { position: relative; margin: 0; }
.ylib-menu > li > a {
	display: flex;
	align-items: center;
	min-height: var(--nav-height);
	margin-top: -1px;
	border-top: var(--nav-active-bar) solid transparent;
	color: var(--ink);
	font: 400 14px/1.2 var(--font-display);
	text-decoration: none;
}
.ylib-menu > li > a:hover,
.ylib-menu > li:focus-within > a,
.ylib-menu > .current-menu-item > a,
.ylib-menu > .current_page_item > a,
.ylib-menu > .current-menu-ancestor > a,
.ylib-menu > .current_page_ancestor > a,
.ylib-menu > .current-menu-parent > a {
	color: var(--brand-green);
	border-top-color: var(--brand-green);
	text-decoration: none;
}

/* Dropdowns */
.ylib-menu .sub-menu,
.ylib-menu .children {
	list-style: none;
	position: absolute;
	top: 100%;
	left: -18px;
	min-width: 230px;
	margin: 0;
	padding: 6px 0;
	background: var(--surface);
	border: 1px solid var(--rule);
	border-top: var(--nav-active-bar) solid var(--brand-green);
	box-shadow: 0 6px 18px rgba(0, 0, 0, .06);
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity .15s ease, transform .15s ease, visibility .15s;
}
.ylib-menu li:hover > .sub-menu,
.ylib-menu li:focus-within > .sub-menu,
.ylib-menu li:hover > .children,
.ylib-menu li:focus-within > .children {
	opacity: 1;
	visibility: visible;
	transform: none;
}
.ylib-menu .sub-menu a,
.ylib-menu .children a {
	display: block;
	padding: 9px 18px;
	color: var(--text);
	font: 400 14px/1.35 var(--font-body);
	text-decoration: none;
}
.ylib-menu .sub-menu a:hover,
.ylib-menu .sub-menu .current-menu-item > a,
.ylib-menu .children a:hover {
	color: var(--brand-deep);
	background: #f5f8ef;
}

.ylib-nav__toggle {
	display: none;
	align-items: center;
	gap: 10px;
	margin: 0 auto;
	padding: 12px var(--gutter);
	border: 0;
	background: none;
	color: var(--ink);
	font: 400 14px/1 var(--font-display);
	cursor: pointer;
}
.ylib-nav__bars,
.ylib-nav__bars::before,
.ylib-nav__bars::after {
	display: block;
	width: 20px;
	height: 2px;
	background: var(--ink);
	position: relative;
	content: "";
}
.ylib-nav__bars::before { position: absolute; top: -6px; }
.ylib-nav__bars::after { position: absolute; top: 6px; }

@media (max-width: 900px) {
	.ylib-topbar__inner { justify-content: center; text-align: center; }
	.ylib-brand img { max-height: 96px; }
	.ylib-nav__toggle { display: flex; }
	.ylib-menu { display: none; flex-direction: column; padding: 0 0 10px; }
	.ylib-nav.is-open .ylib-menu { display: flex; }
	.ylib-menu > li > a {
		min-height: 0;
		margin: 0;
		padding: 12px var(--gutter);
		border-top: 0;
		border-left: var(--nav-active-bar) solid transparent;
	}
	.ylib-menu > .current-menu-item > a,
	.ylib-menu > .current-menu-ancestor > a { border-left-color: var(--brand-green); }
	.ylib-menu .sub-menu,
	.ylib-menu .children {
		position: static;
		opacity: 1;
		visibility: visible;
		transform: none;
		border: 0;
		box-shadow: none;
		padding: 0 0 6px 16px;
		display: none;
	}
	.ylib-menu li.is-expanded > .sub-menu,
	.ylib-menu li.is-expanded > .children { display: block; }
	.ylib-submenu-toggle {
		position: absolute;
		top: 4px;
		right: var(--gutter);
		width: 36px;
		height: 36px;
		border: 0;
		background: none;
		color: var(--ink);
		font-size: 18px;
		cursor: pointer;
	}
	.ylib-submenu-toggle::before { content: "+"; }
	li.is-expanded > .ylib-submenu-toggle::before { content: "–"; }
}
@media (min-width: 901px) {
	.ylib-submenu-toggle { display: none; }
}

/* ---------- Footer ---------- */
.ylib-footer { position: relative; }
.ylib-footer__band { background: var(--footer-surface); min-height: 96px; color: var(--footer-link); }
.ylib-footer__inner { max-width: var(--site-width); margin: 0 auto; padding: 0 var(--gutter); }
.ylib-footer__widgets { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 30px; padding-top: 40px; padding-bottom: 30px; }
.ylib-footer__title { color: #fff; font: 400 14px/1.3 var(--font-display); margin-bottom: 12px; }
.ylib-footer__widgets a { color: var(--footer-link); }
.ylib-footer__base { background: var(--footer-base); color: var(--footer-text); font-size: 12px; line-height: 1.5; }
.ylib-footer__base .ylib-footer__inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 4px 8px;
	min-height: 48px;
	padding-top: 10px;
	padding-bottom: 10px;
	text-align: center;
}
.ylib-footer__menu { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0 8px; }
.ylib-footer__menu li { margin: 0; }
.ylib-footer__menu li::before { content: "|"; margin-right: 8px; color: var(--footer-text); }
.ylib-footer__menu a { color: var(--footer-link); }
.ylib-footer__menu a:hover { color: #fff; }
.ylib-totop {
	position: fixed;
	right: 24px;
	bottom: 0;
	width: 48px;
	height: 36px;
	background: #333;
	opacity: 0;
	pointer-events: none;
	transition: opacity .2s ease;
	z-index: 40;
}
.ylib-totop::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 15px;
	width: 10px;
	height: 10px;
	border-left: 2px solid #fff;
	border-top: 2px solid #fff;
	transform: translateX(-50%) rotate(45deg);
}
.ylib-totop.is-visible { opacity: 1; pointer-events: auto; }

/* ---------- Elementor content ---------- */
.elementor-widget-text-editor { color: var(--text); }
.elementor-widget-text-editor p:last-child,
.elementor-widget-text-editor ul:last-child { margin-bottom: 0; }
.elementor-widget-text-editor ul { padding-left: 1.4em; }
.elementor-widget-text-editor a { color: var(--ink); }
.elementor-widget-text-editor a:hover { color: var(--brand-deep); }
.ylib-notice, .elementor-widget-text-editor .ylib-notice { color: var(--ink); font-weight: 700; }
.ylib-question { color: var(--text); font-weight: 700; }
.ylib-quote { font-style: italic; }
.elementor-widget-image img { display: block; }
.elementor-widget-google_maps iframe { display: block; }
.ylib-lead .elementor-heading-title { line-height: 1.6 !important; }

/* Image placeholders: remove the class once the real photo is in */
.ylib-placeholder img { outline: 1px dashed var(--brand-green); outline-offset: -1px; }

/* Workshop cards */
.ylib-workshop-card { transition: border-color .2s ease; }
.ylib-workshop-card:hover { border-color: var(--brand-green) !important; }

/* ---------- Contact Form 7 ---------- */
.wpcf7 form p { margin: 0 0 var(--field-gap); }
.wpcf7 label { display: block; color: var(--text); font-size: 16px; line-height: 20px; }
.wpcf7 .wpcf7-form-control-wrap { display: block; margin-top: var(--field-label-gap); }
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 select,
.wpcf7 textarea {
	width: 100%;
	min-height: var(--field-height);
	padding: 6px 10px;
	border: 1px solid var(--border);
	border-radius: 0;
	background: var(--surface);
	color: var(--ink);
	font: 400 14px/1.4 var(--font-body);
}
.wpcf7 select { appearance: none; background: var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23747474' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 12px center; padding-right: 32px; }
.wpcf7 textarea { height: 150px; resize: vertical; }
.wpcf7 input:focus, .wpcf7 select:focus, .wpcf7 textarea:focus { outline: 2px solid var(--brand-deep); outline-offset: 0; border-color: var(--brand-deep); }
.wpcf7 .wpcf7-not-valid-tip { margin-top: 4px; color: #b3261e; font-size: 13px; }
.wpcf7 form .wpcf7-response-output { margin: 16px 0 0; padding: 10px 14px; border: 1px solid var(--brand-green); color: var(--ink); }
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output { border-color: #b3261e; }

/* Shown in the page when the form plugin is missing */
.ylib-missing { padding: 16px 20px; border: 1px dashed var(--brand-green); background: #f7faf1; color: var(--ink); }

/* ---------- Blog ---------- */
.ylib-archive-head { margin-bottom: 30px; }
.ylib-posts { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 30px; }
.ylib-card { border: 1px solid var(--rule); display: flex; flex-direction: column; }
.ylib-card__media img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.ylib-card__body { padding: 20px; display: flex; flex-direction: column; align-items: flex-start; flex: 1; }
.ylib-card__title { font-size: 20px; margin-bottom: 6px; }
.ylib-card__title a { color: var(--brand-green); }
.ylib-card__title a:hover { color: var(--brand-deep); }
.ylib-card__meta { font-size: 13px; color: var(--text); margin-bottom: 12px; }
.ylib-card .ylib-button { margin-top: auto; }
.ylib-entry__media { margin: 0 0 24px; }
.ylib-entry__content > *:last-child { margin-bottom: 0; }
.nav-links { display: flex; justify-content: space-between; gap: 20px; margin-top: 40px; padding-top: 20px; border-top: 1px solid var(--rule); }
.pagination .nav-links { justify-content: center; }
.page-numbers { padding: 6px 10px; }
.page-numbers.current { color: var(--brand-green); font-weight: 700; }


/* ==========================================================================
   v2 — UAE header/footer, outline buttons, Lora body
   ========================================================================== */

/* Secondary (outline) button. Elementor widgets set the colours/border from globals;
   this only removes the kit's gradient layer so the white background shows. */
.elementor-widget-button.ylib-btn-outline .elementor-button { background-image: none; }
.ylib-button--outline {
	background-image: none;
	background-color: var(--surface);
	color: var(--ink);
	box-shadow: inset 0 0 0 2px var(--brand-green);
}
.ylib-button--outline:hover {
	background-color: #f5f8ef;
	color: var(--brand-deep);
}

/* UI text that stays in Arial (labels, small print) */
.ylib-topbar-text, .ylib-header-call, .ylib-copyright, .ylib-legal-links,
.wpcf7 label, .ylib-footer__base { font-family: var(--font-ui); }

/* UAE header: top bar */
.ylib-topbar-text, .ylib-topbar-text p { margin: 0; color: #fff; font-size: 13px; line-height: 1.5; }
.ylib-topbar-text a { color: #fff; text-decoration: none; }
.ylib-topbar-text a:hover { text-decoration: underline; color: #fff; }
.ylib-header-call p { margin: 0; font-size: 14px; color: var(--text); }
.ylib-header-call a { color: var(--ink); font-weight: 700; }

/* UAE Navigation Menu — brand styling (widget settings set the same values; this is the safety net) */
.ylib-uae-nav .hfe-nav-menu > li.menu-item > a.hfe-menu-item {
	font-family: var(--font-display);
	font-size: 14px;
	color: var(--ink);
	border-top: var(--nav-active-bar) solid transparent;
}
.ylib-uae-nav .hfe-nav-menu > li.menu-item > a.hfe-menu-item:hover,
.ylib-uae-nav .hfe-nav-menu > li.current-menu-item > a.hfe-menu-item,
.ylib-uae-nav .hfe-nav-menu > li.current-menu-ancestor > a.hfe-menu-item,
.ylib-uae-nav .hfe-nav-menu > li.current-menu-parent > a.hfe-menu-item {
	color: var(--brand-green);
	border-top-color: var(--brand-green);
}
.ylib-uae-nav .sub-menu { border-top: var(--nav-active-bar) solid var(--brand-green); box-shadow: 0 6px 18px rgba(0, 0, 0, .06); }
.ylib-uae-nav .sub-menu a.hfe-sub-menu-item { font-family: var(--font-ui); font-size: 14px; color: var(--text); }
.ylib-uae-nav .sub-menu a.hfe-sub-menu-item:hover { color: var(--brand-deep); background: #f5f8ef; }

/* UAE footer: text on charcoal */
.ylib-on-dark, .ylib-on-dark p { color: #cfcfcf; }
.ylib-on-dark p { margin: 0 0 .6em; }
.ylib-on-dark a { color: #fff; text-decoration: none; }
.ylib-on-dark a:hover { color: var(--button-top); text-decoration: underline; }
.ylib-legal-links p { margin: 0; font-size: 13px; }
.ylib-legal-links a { color: var(--footer-link); }
.ylib-copyright, .ylib-copyright .hfe-copyright-wrapper, .ylib-copyright .hfe-copyright-wrapper * { color: var(--footer-text); font-size: 13px; }

/* Theme fallback header (only when UAE is not active) */
.ylib-brand__inner {
	max-width: var(--site-width);
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
}
.ylib-brand { padding-top: 14px; padding-bottom: 14px; }
.ylib-lockup { display: flex; align-items: center; gap: 18px; text-decoration: none; }
.ylib-lockup:hover { text-decoration: none; }
.ylib-lockup img { width: 120px; height: auto; max-height: none; }
.ylib-lockup__text { display: flex; flex-direction: column; gap: 4px; }
.ylib-lockup__name { font: 400 30px/1.1 var(--font-display); color: var(--ink); }
.ylib-lockup__tag { font: italic 400 17px/1.2 var(--font-ui); color: var(--text); }
.ylib-brand__cta { display: flex; gap: 10px; flex-wrap: wrap; }
@media (max-width: 900px) {
	.ylib-brand__inner { justify-content: center; text-align: center; }
	.ylib-lockup { flex-direction: column; gap: 8px; }
	.ylib-lockup img { width: 96px; }
	.ylib-lockup__name { font-size: 24px; }
}
.ylib-phone, a[href^="tel:"] { white-space: nowrap; }

/* ---------- Responsive safety net ---------- */
img, video, iframe { max-width: 100%; }
.elementor-widget-text-editor, .elementor-heading-title { overflow-wrap: break-word; }
@media (max-width: 767px) {
	.elementor-widget-button .elementor-button { white-space: normal; text-align: center; }
	.ylib-topbar-text p { font-size: 12px; }
}

/* Location line above page titles (Elementor text widget, class ylib-eyebrow) */
.ylib-eyebrow { margin-bottom: -10px; }
.ylib-eyebrow p { margin: 0; letter-spacing: .06em; text-transform: uppercase; font-weight: 700; }
