/**
 * MN Corporate — base stylesheet.
 * Design tokens from the Fasa Plus demo: orange #E8641C on deep green
 * #0C2419, Plus Jakarta Sans display + Inter body.
 */

:root {
	--mnc-orange: #E8641C;
	--mnc-orange-dark: #D3560F;
	--mnc-green: #0C2419;
	--mnc-green-soft: #17241D;
	--mnc-green-mid: #084425;
	--mnc-sage: #5C6F63;
	--mnc-ivory: #F4F6F4;
	--mnc-ivory-soft: #F8F7F6;
	--mnc-sage-tint: #EDF3F0;
	--mnc-sage-tint-2: #E4EBE6;
	--mnc-text: #1A2B23;
	--mnc-text-soft: #4E5F56;
	--mnc-border: rgba(12, 36, 25, 0.12);

	--mnc-font-display: "Plus Jakarta Sans", system-ui, sans-serif;
	--mnc-font-body: "Inter", system-ui, sans-serif;

	--mnc-radius: 14px;
	--mnc-radius-sm: 10px;
	--mnc-shadow: 0 18px 50px rgba(12, 36, 25, 0.10);
	--mnc-shadow-soft: 0 8px 28px rgba(12, 36, 25, 0.07);

	--mnc-container: 1200px;
	--mnc-gap: 24px;
}

/* ------------------------------------------------------------------ */
/* Reset-lite & base                                                   */
/* ------------------------------------------------------------------ */

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body.mnc-theme {
	margin: 0;
	font-family: var(--mnc-font-body);
	font-size: 16px;
	line-height: 1.65;
	color: var(--mnc-text);
	background: var(--mnc-ivory-soft);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--mnc-font-display);
	line-height: 1.18;
	letter-spacing: -0.015em;
	color: var(--mnc-green);
	margin: 0 0 0.5em;
	font-weight: 700;
}

p { margin: 0 0 1em; }

a { color: var(--mnc-orange); text-decoration: none; transition: color 0.2s ease; }
a:hover { color: var(--mnc-orange-dark); }

img { max-width: 100%; height: auto; display: block; }

/* ------------------------------------------------------------------ */
/* Layout primitives                                                   */
/* ------------------------------------------------------------------ */

.mnc-container {
	width: min(var(--mnc-container), 100% - 48px);
	margin-inline: auto;
}

.mnc-section { padding: clamp(64px, 8vw, 104px) 0; }
.mnc-section--dark { background: var(--mnc-green); color: var(--mnc-ivory); }
.mnc-section--tint { background: var(--mnc-sage-tint); }

.mnc-section--dark h1, .mnc-section--dark h2, .mnc-section--dark h3,
.mnc-section--dark h4, .mnc-section--dark h5, .mnc-section--dark h6 { color: #fff; }

/* Kicker + section heading rhythm */
.mnc-kicker {
	font-family: var(--mnc-font-body);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--mnc-orange);
	margin: 0 0 14px;
}

.mnc-section-title { font-size: clamp(28px, 4vw, 44px); font-weight: 800; }
.mnc-section-sub {
	max-width: 640px;
	color: var(--mnc-text-soft);
	font-size: 17px;
	margin-top: -0.25em;
}

.mnc-section-head { margin-bottom: clamp(28px, 4vw, 52px); }
.mnc-section--dark .mnc-section-sub { color: rgba(244, 246, 244, 0.72); }

/* Buttons */
.mnc-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 14px 28px;
	border-radius: 0.375rem; /* 6px */
	font-family: var(--mnc-font-body);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.02em;
	transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
	cursor: pointer;
	border: 1px solid transparent;
}

/* Arrow-right suffix (hero CTAs) — shifts slightly on hover. */
.mnc-btn__arrow {
	display: inline-block;
	font-size: 1.05em;
	line-height: 1;
	transition: transform 0.25s cubic-bezier(0.22, 1, 0.36, 1);
}

.mnc-btn:hover .mnc-btn__arrow { transform: translateX(5px); }

.mnc-btn--primary { background: var(--mnc-orange); color: #fff; box-shadow: 0 10px 26px rgba(232, 100, 28, 0.32); }
.mnc-btn--primary:hover { background: var(--mnc-orange-dark); color: #fff; transform: translateY(-2px); }

.mnc-btn--ghost { background: transparent; color: var(--mnc-green); border-color: var(--mnc-border); }
.mnc-btn--ghost:hover { border-color: var(--mnc-green); color: var(--mnc-green); }

.mnc-btn--light { background: #fff; color: var(--mnc-green); }
.mnc-btn--light:hover { background: var(--mnc-ivory); color: var(--mnc-green); }

.mnc-btn--outline-light { background: transparent; color: #fff; border-color: rgba(244, 246, 244, 0.4); }
.mnc-btn--outline-light:hover { border-color: #fff; color: #fff; }

/* ------------------------------------------------------------------ */
/* Breadcrumbs                                                         */
/* ------------------------------------------------------------------ */

.mnc-breadcrumbs ol {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 10px;
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 13px;
	color: var(--mnc-text-soft);
}

.mnc-breadcrumbs li + li::before { content: "/"; margin-right: 10px; color: var(--mnc-sage); }
.mnc-breadcrumbs a { color: var(--mnc-text-soft); }
.mnc-breadcrumbs a:hover { color: var(--mnc-orange); }
.mnc-breadcrumbs .is-current { color: var(--mnc-green); font-weight: 600; }

/* ------------------------------------------------------------------ */
/* Header (classic fallback — Elementor Pro replaces it)               */
/* ------------------------------------------------------------------ */

.mnc-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(248, 247, 246, 0.92);
	backdrop-filter: blur(14px);
	border-bottom: 1px solid var(--mnc-border);
}

.mnc-header__inner {
	display: flex;
	align-items: center;
	gap: 32px;
	min-height: 72px;
}

.mnc-header__brand {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: var(--mnc-font-display);
	font-weight: 800;
	font-size: 20px;
	color: var(--mnc-green);
	text-decoration: none;
}

.mnc-header__brand img { max-height: 40px; width: auto; }

.mnc-nav { margin-left: auto; }
.mnc-nav ul { display: flex; flex-wrap: wrap; gap: 4px 24px; list-style: none; margin: 0; padding: 0; }
.mnc-nav a {
	font-size: 14px;
	font-weight: 600;
	color: var(--mnc-text);
	padding: 8px 2px;
	border-bottom: 2px solid transparent;
}
.mnc-nav a:hover { color: var(--mnc-orange); }
.mnc-nav .current-menu-item > a,
.mnc-nav .current_page_item > a { color: var(--mnc-orange); border-bottom-color: var(--mnc-orange); }

.mnc-header__cta { flex-shrink: 0; padding: 10px 22px; font-size: 13px; }

@media (max-width: 900px) {
	.mnc-nav { display: none; }
}

/* ------------------------------------------------------------------ */
/* Footer (classic fallback)                                           */
/* ------------------------------------------------------------------ */

.mnc-footer { background: var(--mnc-green); color: rgba(244, 246, 244, 0.78); padding: clamp(48px, 6vw, 80px) 0 0; }
.mnc-footer a { color: rgba(244, 246, 244, 0.78); }
.mnc-footer a:hover { color: var(--mnc-orange); }
.mnc-footer h4 { color: #fff; font-size: 15px; margin-bottom: 18px; }
.mnc-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }

.mnc-footer__grid {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr 1.2fr;
	gap: 48px;
	padding-bottom: 48px;
}

.mnc-footer__brand { font-family: var(--mnc-font-display); font-weight: 800; font-size: 22px; color: #fff; }
.mnc-footer__about { margin-top: 14px; max-width: 300px; font-size: 14px; }

.mnc-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 24px;
	justify-content: space-between;
	border-top: 1px solid rgba(244, 246, 244, 0.14);
	padding: 22px 0;
	font-size: 13px;
}

.mnc-footer__legal ul { display: flex; gap: 18px; }

@media (max-width: 900px) {
	.mnc-footer__grid { grid-template-columns: 1fr 1fr; gap: 32px; }
}
@media (max-width: 560px) {
	.mnc-footer__grid { grid-template-columns: 1fr; }
}

/* ------------------------------------------------------------------ */
/* Base content (classic pages)                                        */
/* ------------------------------------------------------------------ */

.mnc-page-hero {
	padding: clamp(56px, 7vw, 96px) 0;
	background: var(--mnc-green);
	color: var(--mnc-ivory);
}

.mnc-page-hero h1 { color: #fff; font-size: clamp(30px, 4.4vw, 52px); font-weight: 800; max-width: 820px; margin: 0 0 10px; }
.mnc-page-hero .mnc-breadcrumbs { margin-bottom: 22px; }
.mnc-page-hero .mnc-breadcrumbs, .mnc-page-hero .mnc-breadcrumbs a { color: rgba(244, 246, 244, 0.6); }
.mnc-page-hero .mnc-breadcrumbs .is-current { color: var(--mnc-ivory); }

.mnc-prose { max-width: 760px; }
.mnc-prose > * + * { margin-top: 1em; }
.mnc-prose h2 { font-size: 26px; margin-top: 1.6em; }
.mnc-prose h3 { font-size: 20px; margin-top: 1.4em; }

.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; width: 1px; margin: -1px; overflow: hidden;
	padding: 0; position: absolute;
}

/* Search form */
.mnc-search { display: flex; gap: 10px; max-width: 560px; }
.mnc-search__input {
	flex: 1;
	padding: 14px 18px;
	border: 1px solid var(--mnc-border);
	border-radius: var(--mnc-radius-sm);
	background: #fff;
	font-family: var(--mnc-font-body);
	font-size: 15px;
}
.mnc-search__input:focus { outline: 2px solid var(--mnc-orange); outline-offset: 1px; border-color: var(--mnc-orange); }
.mnc-search__btn {
	padding: 14px 26px;
	border: 0;
	border-radius: var(--mnc-radius-sm);
	background: var(--mnc-orange);
	color: #fff;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.2s ease;
}
.mnc-search__btn:hover { background: var(--mnc-orange-dark); }
