/* =========================================================================
   Lamerd Solar — site styles (child theme of Hello Elementor)
   Colors & font sizes live in Elementor › Site Settings (global colors /
   global fonts). This file only handles fonts per language, line-heights
   and a few helper classes used by the Elementor layouts.
   ========================================================================= */

@font-face {
	font-family: 'Vazirmatn';
	src: url('../fonts/Vazirmatn-Variable.woff2') format('woff2');
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Manrope';
	src: url('../fonts/Manrope-Variable.woff') format('woff');
	font-weight: 200 800;
	font-style: normal;
	font-display: swap;
}

/* ---- Language-aware font + rhythm ------------------------------------ */
:root {
	--ls-font: 'Vazirmatn', Tahoma, sans-serif;
	--ls-lh-head: 1.55;
	--ls-lh-body: 2;
	--ls-navy: #0E2148;
	--ls-gold: #E8A21E;
	--ls-gold2: #F6C35B;
	--ls-line: #E3E6ED;
}
html:lang(en) {
	--ls-font: 'Manrope', 'Vazirmatn', 'Segoe UI', sans-serif;
	--ls-lh-head: 1.15;
	--ls-lh-body: 1.7;
}
html body,
body button, body input, body select, body textarea,
body .elementor-button,
body .elementor-field-group .elementor-field {
	font-family: var(--ls-font);
}
body { color: #3C4050; -webkit-font-smoothing: antialiased; }

.elementor-widget-heading .elementor-heading-title { line-height: var(--ls-lh-head); }
.elementor-widget-text-editor,
.elementor-widget-text-editor p { line-height: var(--ls-lh-body); }
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.elementor-widget-icon-box .elementor-icon-box-title { line-height: 1.5; margin-top: 0; }
.elementor-widget-icon-box .elementor-icon-box-description { line-height: 1.75; margin: 0; }
html:lang(en) .elementor-widget-icon-box .elementor-icon-box-title { line-height: 1.3; }
.elementor-icon-list-text { line-height: 1.7; }

/* Eyebrow labels */
html:lang(en) .ls-eyebrow .elementor-heading-title { text-transform: uppercase; letter-spacing: .12em; }
.ls-eyebrow .elementor-heading-title::before {
	content: ""; display: inline-block; width: 28px; height: 2px; background: var(--ls-gold);
	vertical-align: middle; margin-inline-end: 10px; position: relative; top: -2px;
}
.ls-center .ls-eyebrow .elementor-heading-title::before,
.elementor-widget.ls-eyebrow.elementor-align-center .elementor-heading-title::before { display: none; }

/* Inline helpers usable inside headings */
.ls-gold { color: var(--ls-gold2); }
.ls-unit { font-size: .5em; font-weight: 700; margin-inline-start: 2px; }
.ls-latin { direction: ltr; unicode-bidi: isolate; font-family: 'Manrope', sans-serif; }
.elementor-widget-heading.ls-latin .elementor-heading-title { font-family: 'Manrope', sans-serif; }

/* Max-width helpers */
.ls-maxw-620 { max-width: 620px; }
.ls-maxw-720 { max-width: 720px; }
.ls-maxw-760 { max-width: 760px; }
.ls-maxw-780 { max-width: 780px; }
.ls-maxw-820 { max-width: 820px; }
.ls-maxw-860 { max-width: 860px; }
.e-con.ls-center, .elementor-widget.ls-center { margin-inline: auto; text-align: center; }
.e-con.ls-center { align-items: center; }

/* Hero */
.ls-pill .elementor-heading-title {
	display: inline-block; padding: 6px 16px; border-radius: 999px;
	border: 1px solid rgba(246, 195, 91, .55); background: rgba(14, 33, 72, .5);
	backdrop-filter: blur(4px);
}
.ls-crumbs a { color: rgba(255, 255, 255, .85); text-decoration: none; }
.ls-crumbs a:hover { color: var(--ls-gold2); }
.ls-crumbs .ls-sep { opacity: .5; margin: 0 6px; }

/* Stats bar */
.ls-stats > .ls-stat:not(:last-child) { border-inline-end: 1px solid #ECEEF3; }
.ls-stat .elementor-heading-title { white-space: nowrap; }
@media (max-width: 1024px) {
	.ls-stats > .ls-stat { border-bottom: 1px solid #ECEEF3; }
}

/* Cards */
.ls-card { transition: transform .25s ease, box-shadow .25s ease; }
.ls-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(14, 33, 72, .10); }
.ls-card--feature .elementor-icon-box-wrapper { gap: 14px; }
.ls-card--feature .elementor-icon-box-icon { margin-bottom: 4px !important; }
.ls-card > .elementor-widget-container, .ls-card { height: 100%; }

/* Two / three column lists */
.ls-list-2col .elementor-icon-list-items,
.ls-list-3col .elementor-icon-list-items { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; }
.ls-list-3col .elementor-icon-list-items { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ls-list-2col .elementor-icon-list-item, .ls-list-3col .elementor-icon-list-item { margin: 0 !important; }
@media (max-width: 767px) {
	.ls-list-2col .elementor-icon-list-items, .ls-list-3col .elementor-icon-list-items { grid-template-columns: 1fr; }
}

/* Notes */
.ls-note--mint { background: #EEF5F0; border-radius: 16px; padding: 16px 20px; color: #2C4A38; }

/* Steps / roadmap */
.ls-step { border-top: 3px solid var(--ls-line); }
.ls-steps--dark .ls-step { border-top-color: rgba(255, 255, 255, .22); }
.ls-step.is-active { border-top-color: var(--ls-gold) !important; }
.ls-step .elementor-heading-title { line-height: 1.5; }

/* Statement band */
.ls-quote-mark .elementor-heading-title { line-height: .8 !important; font-size: 90px; opacity: .9; }
.ls-statement .elementor-heading-title { line-height: 1.5; }
html:lang(en) .ls-statement .elementor-heading-title { line-height: 1.2; }

/* About badge over the image */
@media (max-width: 1024px) {
	.e-con.ls-badge { position: relative !important; inset: auto !important; margin: -48px 16px 0 !important; width: auto !important; max-width: 420px; }
}

/* Partners strip */
.ls-partners-title .elementor-heading-title { padding-inline-end: 28px; border-inline-end: 1px solid var(--ls-line); }
@media (max-width: 767px) { .ls-partners-title .elementor-heading-title { border: 0; padding: 0; } }

/* Gallery */
.ls-gal img { transition: transform .4s ease; }
.ls-gal:hover img { transform: scale(1.02); }

/* ---- Header ----------------------------------------------------------- */
.ls-header { box-shadow: 0 8px 30px rgba(5, 14, 34, .18); }
.ls-brand-sep { border-inline-start: 1px solid rgba(255, 255, 255, .28); }
.ls-site-name .elementor-heading-title { line-height: 1.45 !important; font-weight: 600; white-space: nowrap; }
html:lang(en) .ls-site-name .elementor-heading-title { letter-spacing: .06em; text-transform: uppercase; font-size: 12px; }
.ls-site-name a { color: inherit; }
.ls-logo img { display: block; }

.ls-nav .elementor-nav-menu--main .elementor-item { color: #fff; font-weight: 500; }
.ls-nav .elementor-nav-menu--main .elementor-item:hover,
.ls-nav .elementor-nav-menu--main .elementor-item.elementor-item-active { color: var(--ls-gold2); }
.ls-nav .elementor-nav-menu--dropdown { border-radius: 14px; overflow: hidden; box-shadow: 0 20px 40px rgba(5, 14, 34, .25); }
.ls-nav .elementor-nav-menu--dropdown a { font-size: 15px; }

.ls-lang-switch { display: flex; gap: 6px; }
.ls-lang-switch a {
	display: inline-flex; align-items: center; justify-content: center; min-height: 40px; min-width: 44px;
	padding: 6px 14px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .35);
	color: #fff; font-size: 13px; font-weight: 700; text-decoration: none; line-height: 1;
}
.ls-lang-switch a[lang="en"] { font-family: 'Manrope', sans-serif; letter-spacing: .08em; }
.ls-lang-switch a[lang="fa"] { font-family: 'Vazirmatn', sans-serif; }
.ls-lang-switch a:hover { background: rgba(255, 255, 255, .12); color: var(--ls-gold2); }

/* ---- Footer ----------------------------------------------------------- */
.ls-footer a { color: rgba(255, 255, 255, .78); }
.ls-footer a:hover, .ls-footer-links a:hover .elementor-icon-list-text { color: var(--ls-gold2) !important; }

/* ---- Contact form (Elementor Pro) --------------------------------------- */
.ls-form .elementor-field-group { margin-bottom: 16px; }
.ls-form .elementor-field-label { color: #0E2148; font-weight: 600; font-size: 14px; margin-bottom: 6px; }
.ls-form .elementor-field-textual,
.ls-form .elementor-select-wrapper select {
	border: 1px solid #D7DBE4 !important; border-radius: 12px !important; background: #fff !important;
	padding: 12px 14px !important; min-height: 48px; font-size: 15px; color: #232427;
}
.ls-form .elementor-field-textual:focus { border-color: #1D3A78 !important; box-shadow: 0 0 0 3px rgba(29, 58, 120, .12); outline: 0; }
.ls-form .elementor-button[type="submit"] {
	background: var(--ls-gold) !important; color: var(--ls-navy) !important; border-radius: 999px !important;
	font-weight: 700; min-height: 52px; padding: 14px 28px;
}
.ls-form .elementor-button[type="submit"]:hover { background: var(--ls-gold2) !important; }
.ls-contact-card .elementor-icon-box-description { direction: auto; }

/* ---- Accessibility ---------------------------------------------------- */
a:focus-visible, .elementor-button:focus-visible { outline: 2px solid var(--ls-gold); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .ls-card, .ls-gal img { transition: none; } .ls-card:hover { transform: none; } }

/* Hello Elementor: hide default page title on Elementor pages */
.elementor-page .page-header { display: none; }
