

/* === Added: Global foundation and government-style components === */
/* ===============================
   ANIMATION BASE
================================= */

.fade-up {
    opacity: 0;
    transform: translateY(40px);
    transition: all 0.8s ease;
}

.fade-up.active {
    opacity: 1;
    transform: translateY(0);
}
/* Reset */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

body {
	font-family: "Segoe UI", Arial, sans-serif;
	color: #333;
	background: #ffffff;
}

/* Make media elements fluid by default */
img, picture, video, iframe, embed {
    max-width: 100%;
    height: auto;
    display: block;
}

/* Container */
.container {
	width: 1200px;
	max-width: 95%;
	margin: auto;
}

/* Primary Color */
:root {
	--primary-blue: #1E4E8C;
	--secondiry-blue: #02387f;
	--btn-blue: linear-gradient(180deg, #275b9e 50%, #02387f 100%);
	--btn-shadow: rgba(0, 0, 0, 0.2) 0px 3px 10px;
}

/* Section spacing */
.section {
	padding: 60px 0;
}

.logo img {
	height: 40px;
}

/* Header */

/* Sticky header */
/* Default state (page top) */
.site-header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999;

    display: flex;
    justify-content: space-between;
    align-items: center;

    padding: 20px 50px;

    background: transparent;
    transition: all 0.3s ease;
}

/* When scrolled */
.site-header.scrolled {
    position: fixed;
    background: #ffffff;
    box-shadow: 0 2px 10px rgba(16,18,54,0.08);
}
@media (max-width: 900px) {
	.site-header {
		padding: 16px 20px;
	}
	.logo img {
		height: 34px;
	}
}

@media (max-width: 480px) {
	.site-header {
		padding: 12px 14px;
	}
	.logo img {
		height: 30px;
	}
}

/* Ensure overlay and mobile menu sit below header */
.menu-overlay{ z-index: 998; }

.main-nav {
    display: flex;
    gap: 12px;
}

.main-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 50px;
    width: 100%;
}

.main-nav a {
    text-decoration: none;
    color: #ffffff;
    font-weight: 500;
}
.scrolled .main-nav a,
.main-nav.active a{
	color: #333;
}

.scrolled .menu-toggle span {
	background: #333;
}

.menu-toggle {
	display: none;
	flex-direction: column;
	justify-content: center;
	width: 30px;
	height: 24px;
	background: none;
	border: none;
	cursor: pointer;
	gap: 6px;
}

.menu-toggle span {
	height: 3px;
	width: 100%;
	background: #fff;
	border-radius: 3px;
	transition: all 0.3s ease;
}

/* Animation to X */
.menu-toggle.active span:nth-child(1) {
	transform: translateY(9px) rotate(45deg);
}

.menu-toggle.active span:nth-child(2) {
	opacity: 0;
}

.menu-toggle.active span:nth-child(3) {
	transform: translateY(-9px) rotate(-45deg);
}


/* Mobile Styles */
@media (max-width: 768px) {

	.menu-toggle {
		display: flex;
	}

	/* Slide-in menu from left */
	.main-nav {
		position: fixed;
		top: 0;
		left: 0;
		height: 100vh;
		width: 80%;
		max-width: 320px;
		background: #fff;
		box-shadow: 2px 0 8px rgba(0,0,0,0.15);
		transform: translateX(-100%);
		transition: transform 0.35s ease;
		z-index: 10001;
		padding: 1.5rem;
		overflow-y: auto;
	}

	.main-nav.active {
		transform: translateX(0);
	}

	.main-menu {
		flex-direction: column;
	}

	/* Push content to the right a bit when menu present (optional) */
	body.nav-open {
		overflow: hidden;
	}

	/* Semi-opaque overlay behind menu */
	.menu-overlay {
		position: fixed;
		inset: 0;
		background: rgba(0,0,0,0.45);
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.25s ease, visibility 0.25s ease;
		z-index: 10000;
	}

	.menu-overlay.active {
		opacity: 1;
		visibility: visible;
	}
}


/* Parent menu item */
.pll-parent-menu-item {
    position: relative;
}

/* Hide dropdown by default */
.pll-parent-menu-item .sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: #fff;
    border: 1px solid #ddd;
    min-width: 80px;
    z-index: 1000;
}

/* Show dropdown on hover */
.pll-parent-menu-item:hover .sub-menu {
    display: block;
}

/* Style the links */
.sub-menu .lang-item a {
    display: block;
    padding: 6px 10px;
    color: #333;
    text-decoration: none;
}

/* Hover effect */
.sub-menu .lang-item a:hover {
    background-color: #f2f2f2;
}

/* Hamburger Button */
.menu-toggle {
	display: none;
	flex-direction: column;
	justify-content: center;
	width: 30px;
	height: 24px;
	background: none;
	border: none;
	cursor: pointer;
	gap: 6px;
}

.menu-toggle.active span:nth-child(1) {
	transform: translateY(9px) rotate(45deg);
}

.menu-toggle.active span:nth-child(2) {
	opacity: 0;
}

.menu-toggle.active span:nth-child(3) {
	transform: translateY(-9px) rotate(-45deg);
}

/* Menu layout: desktop shows items inline; language item goes to end */
.main-menu {
	display: flex;
	align-items: center;
	gap: 1rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.pll-parent-menu-item {
	order: 99; /* place language at end by default (desktop) */
}

/* Mobile Styles */
@media (max-width: 768px) {

	.menu-toggle {
		display: flex;
	}

	/* On mobile show language item first */
	.pll-parent-menu-item {
		order: -1;
	}

	/* Slide-in menu from left */
	.main-nav {
		position: fixed;
		top: 0;
		left: 0;
		height: 100vh;
		width: 80%;
		max-width: 320px;
		background: #fff;
		box-shadow: 2px 0 8px rgba(0,0,0,0.15);
		transform: translateX(-100%);
		transition: transform 0.35s ease;
		z-index: 10001;
		padding: 1.5rem;
		overflow-y: auto;
	}

	.main-nav.active {
		transform: translateX(0);
	}

	.main-menu {
		flex-direction: column;
	}

	/* Push content to the right a bit when menu present (optional) */
	body.nav-open {
		overflow: hidden;
	}

	/* Semi-opaque overlay behind menu */
	.menu-overlay {
		position: fixed;
		inset: 0;
		background: rgba(0,0,0,0.45);
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.25s ease, visibility 0.25s ease;
		z-index: 10000;
	}

	.menu-overlay.active {
		opacity: 1;
		visibility: visible;
	}
}

/* Small reset for menu list items */
.main-menu li {
	list-style: none;
}
