/* Navigation and footer language inspired by the NCSS platform shell.
   It deliberately keeps OJS links and menu behaviour intact. */
:root {
	--pj-brand: #1b8354;
	--pj-brand-dark: #074d31;
	--pj-brand-deep: #074d31;
	--pj-gold: #dba102;
	--pj-ink: #161616;
	--pj-line: #d2d6db;
}

@font-face {
	font-family: "NCSS Plex";
	src: url("../assets/ncss/fonts/IBMPlexSansArabic-Regular.ttf") format("truetype");
	font-style: normal;
	font-weight: 400;
	font-display: swap;
}

@font-face {
	font-family: "NCSS Icons";
	src: url("../assets/ncss/fonts/icomoon.woff") format("woff"),
		url("../assets/ncss/fonts/icomoon.ttf") format("truetype");
	font-style: normal;
	font-weight: normal;
	font-display: block;
}

@font-face {
	font-family: "NCSS Plex";
	src: url("../assets/ncss/fonts/IBMPlexSansArabic-SemiBold.ttf") format("truetype");
	font-style: normal;
	font-weight: 600;
	font-display: swap;
}

@font-face {
	font-family: "NCSS Plex";
	src: url("../assets/ncss/fonts/IBMPlexSansArabic-Bold.ttf") format("truetype");
	font-style: normal;
	font-weight: 700;
	font-display: swap;
}

.pj_platform_header,
.pj_platform_header *,
.pkp_structure_footer_wrapper,
.pkp_structure_footer_wrapper * {
	font-family: "NCSS Plex", Arial, sans-serif !important;
}

.pj_platform_header {
	position: relative !important;
	top: auto !important;
	bottom: auto !important;
	left: auto !important;
	right: auto !important;
	background: #fff !important;
	box-shadow: 0 1px 0 rgba(15, 41, 31, 0.08) !important;
}

.pj_container {
	width: min(100% - 48px, 1440px) !important;
}

/* The header is a full-bleed service band. Keep its controls close to the
   physical page edges while the page content remains comfortably contained. */
.pj_platform_header .pj_container {
	width: 100% !important;
	max-width: none !important;
	padding-inline: clamp(18px, 3vw, 56px) !important;
}

.pj_user_bar {
	border-bottom: 1px solid var(--pj-line) !important;
	background: #fff !important;
}

.pj_user_bar_inner {
	min-height: 48px !important;
	display: flex !important;
	align-items: center !important;
}

.pj_user_bar .pkp_navigation_user {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.pj_user_bar .pkp_navigation_user a {
	display: inline-flex !important;
	align-items: center !important;
	min-height: 32px !important;
	padding: 5px 12px !important;
	border-radius: 5px !important;
	color: #364152 !important;
	font-size: 0.91rem !important;
	font-weight: 600 !important;
	text-decoration: none !important;
}

.pj_user_bar .pkp_navigation_user li:last-child a {
	background: #e7f3ec !important;
	color: var(--pj-brand-dark) !important;
}

.pj_user_bar .pkp_navigation_user a:hover,
.pj_user_bar .pkp_navigation_user a:focus-visible {
	background: #f1f6f3 !important;
	color: var(--pj-brand-dark) !important;
}

.pj_nav_shell {
	min-height: 94px !important;
	border: 0 !important;
	background: #fff !important;
}

.pj_nav_inner {
	display: grid !important;
	grid-template-columns: auto minmax(0, 1fr) auto !important;
	align-items: center !important;
	gap: clamp(18px, 3vw, 52px) !important;
	min-height: 94px !important;
}

.pj_nav_logo {
	display: flex !important;
	align-items: center !important;
	max-width: min(26vw, 320px) !important;
}

.pj_nav_logo img {
	display: block !important;
	width: 100% !important;
	height: 72px !important;
	object-fit: contain !important;
}

.pj_main_nav {
	min-width: 0 !important;
}

.pj_platform_menu {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 4px !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.pj_platform_menu > li {
	position: relative !important;
	margin: 0 !important;
}

.pj_platform_menu > li > a {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	min-height: 58px !important;
	padding: 10px clamp(9px, 1.05vw, 18px) !important;
	border-radius: 6px !important;
	color: var(--pj-ink) !important;
	font-size: 0.98rem !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	text-decoration: none !important;
	white-space: nowrap !important;
	transition: color 160ms ease, background-color 160ms ease !important;
}

.pj_platform_menu > li > a:hover,
.pj_platform_menu > li > a:focus-visible {
	background: #f1f6f3 !important;
	color: var(--pj-brand-dark) !important;
}

.pj_platform_menu > li > a.is-active,
.pj_platform_menu > li > a[aria-current="page"] {
	background: var(--pj-brand) !important;
	box-shadow: 0 8px 18px rgba(27, 131, 84, 0.22) !important;
	color: #fff !important;
}

.pj_has_dropdown > a {
	gap: 7px !important;
}

.pj_has_dropdown > a::before {
	content: none !important;
}

.pj_has_dropdown > a::after {
	content: "" !important;
	width: 6px !important;
	height: 6px !important;
	border-inline-end: 1.5px solid currentColor !important;
	border-bottom: 1.5px solid currentColor !important;
	transform: rotate(45deg) translateY(-2px) !important;
	flex: 0 0 auto !important;
	transition: transform 160ms ease !important;
}

.pj_dropdown_menu {
	min-width: 210px !important;
	margin: 8px 0 0 !important;
	padding: 8px !important;
	border: 1px solid var(--pj-line) !important;
	border-radius: 8px !important;
	background: #fff !important;
	box-shadow: 0 16px 32px rgba(6, 55, 38, 0.14) !important;
}

.pj_dropdown_menu > li > a {
	display: block !important;
	padding: 10px 12px !important;
	border-radius: 5px !important;
	color: #29352f !important;
	font-weight: 600 !important;
	text-decoration: none !important;
}

.pj_dropdown_menu > li > a:hover,
.pj_dropdown_menu > li > a:focus-visible {
	background: #eef7f1 !important;
	color: var(--pj-brand-dark) !important;
}

@media (min-width: 981px) {
	.pj_has_dropdown > .pj_dropdown_menu {
		display: none !important;
	}
	.pj_has_dropdown:hover > .pj_dropdown_menu,
	.pj_has_dropdown:focus-within > .pj_dropdown_menu,
	.pj_has_dropdown.is-open > .pj_dropdown_menu {
		display: block !important;
	}
	.pj_has_dropdown.is-open > a {
		background: #f1f6f3 !important;
		color: var(--pj-brand-dark) !important;
	}
	.pj_has_dropdown.is-open > a::after {
		transform: rotate(225deg) translateY(-2px) !important;
	}
}

.pj_nav_util {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
}

.pj_mobile_account_menu {
	display: none !important;
}

.pj_back_to_top { position:fixed !important; inset-inline-end:24px !important; bottom:94px !important; z-index:10010 !important; display:grid !important; place-items:center !important; width:48px !important; height:48px !important; padding:0 !important; border:0 !important; border-radius:50% !important; background:#074d31 !important; color:#fff !important; box-shadow:0 10px 24px rgba(7,77,49,.24) !important; cursor:pointer !important; opacity:0 !important; visibility:hidden !important; transform:translateY(10px) !important; transition:opacity 160ms ease,transform 160ms ease,visibility 160ms ease !important; }
.pj_back_to_top.is-visible { opacity:1 !important; visibility:visible !important; transform:translateY(0) !important; }
.pj_back_to_top:hover,.pj_back_to_top:focus-visible { background:#1b8354 !important; }
.pj_back_to_top .material-symbols-outlined { font-size:28px !important; }
.pj_back_to_top_symbol { display:block; font-family:Arial,sans-serif; font-size:30px; font-weight:700; line-height:1; }
.pj_a11y_launcher { inset-inline-start:24px !important; inset-inline-end:auto !important; }

.pj_lang_link,
.pj_search_icon,
.pj_account_link {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 42px !important;
	color: var(--pj-ink) !important;
	font-size: 0.98rem !important;
	font-weight: 600 !important;
	text-decoration: none !important;
}

.pj_lang_link {
	padding-inline: 8px !important;
	gap: 5px !important;
}

.pj_search_icon {
	width: 42px !important;
	border-radius: 50% !important;
}

.pj_account_link {
	padding: 10px 18px !important;
	border-radius: 5px !important;
	background: #111827 !important;
	color: #fff !important;
	font-weight: 600 !important;
	white-space: nowrap !important;
}

.pj_account_link:hover,
.pj_account_link:focus-visible {
	background: #1f2937 !important;
	color: #fff !important;
}

.pj_account_link_outline {
	background: transparent !important;
	border: 1px solid #0f7a49 !important;
	color: #07553a !important;
}

.pj_account_link_outline:hover,
.pj_account_link_outline:focus-visible {
	background: #eef7f1 !important;
	color: #07553a !important;
}

.pj_icon_lang,
.pj_icon_search {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-family: "NCSS Icons" !important;
	font-style: normal !important;
	font-weight: normal !important;
	line-height: 1 !important;
	-webkit-font-smoothing: antialiased !important;
}

.pj_icon_lang {
	font-size: 1.02rem !important;
}

.pj_icon_lang::before {
	content: "\e917" !important;
}

.pj_icon_search {
	font-size: 1.3rem !important;
}

.pj_icon_search::before {
	content: "\e905" !important;
}

.pj_lang_link:hover,
.pj_lang_link:focus-visible,
.pj_search_icon:hover,
.pj_search_icon:focus-visible {
	background: #eef7f1 !important;
	color: var(--pj-brand-dark) !important;
}

.pkp_structure_footer_wrapper {
	margin-top: 80px !important;
	border: 0 !important;
	background: var(--pj-brand-deep) !important;
}

.pkp_structure_footer {
	width: min(100% - 48px, 1440px) !important;
	margin: 0 auto !important;
	padding: 62px 0 0 !important;
	background: transparent !important;
	color: #dfeee6 !important;
}

.pj_footer_grid {
	display: grid !important;
	grid-template-columns: minmax(230px, 1.5fr) repeat(3, minmax(150px, 1fr)) !important;
	gap: clamp(28px, 5vw, 76px) !important;
	padding-bottom: 52px !important;
}

.pj_footer_brand {
	padding-inline-end: 16px !important;
}

.pj_footer_brand h2 {
	margin: 0 0 16px !important;
	color: #fff !important;
	font-size: 1.5rem !important;
	font-weight: 700 !important;
	line-height: 1.45 !important;
}

.pj_footer_brand h2::after {
	content: "" !important;
	display: block !important;
	width: 46px !important;
	height: 3px !important;
	margin-top: 15px !important;
	border-radius: 99px !important;
	background: var(--pj-gold) !important;
}

.pj_footer_brand p {
	max-width: 420px !important;
	margin: 0 !important;
	color: #c4d9ce !important;
	font-size: 0.98rem !important;
	line-height: 1.9 !important;
}

.pj_footer_col h3 {
	margin: 0 0 18px !important;
	padding-bottom: 13px !important;
	border-bottom: 1px solid rgba(223, 238, 230, 0.22) !important;
	color: #fff !important;
	font-size: 1.03rem !important;
	font-weight: 700 !important;
}

.pj_footer_col ul {
	display: grid !important;
	gap: 11px !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.pj_footer_col a {
	color: #d6e8de !important;
	font-size: 0.95rem !important;
	line-height: 1.6 !important;
	text-decoration: none !important;
}

.pj_footer_col a:hover,
.pj_footer_col a:focus-visible {
	color: #fff !important;
	text-decoration: underline !important;
	text-underline-offset: 4px !important;
}

.pj_footer_system .pkp_brand_footer {
	padding: 12px !important;
	border: 1px solid rgba(223, 238, 230, 0.2) !important;
	border-radius: 6px !important;
	background: rgba(255, 255, 255, 0.06) !important;
}

.pj_footer_system .pkp_brand_footer img {
	max-width: 135px !important;
	filter: brightness(0) invert(1) opacity(0.9) !important;
}

.pkp_footer_content {
	margin: 0 !important;
	padding: 24px 0 !important;
	border-top: 1px solid rgba(223, 238, 230, 0.18) !important;
	color: #d6e8de !important;
}

.pj_footer_bottom {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 14px !important;
	min-height: 70px !important;
	border-top: 1px solid rgba(223, 238, 230, 0.18) !important;
	color: #b9d3c5 !important;
	font-size: 0.9rem !important;
}

@media (max-width: 1120px) {
	.pj_nav_inner {
		gap: 14px !important;
	}
	.pj_platform_menu > li > a {
		padding-inline: 9px !important;
		font-size: 0.9rem !important;
	}
	.pj_footer_grid {
		grid-template-columns: minmax(220px, 1.35fr) repeat(2, minmax(150px, 1fr)) !important;
	}
	.pj_footer_system {
		grid-column: 2 / 3 !important;
	}
}

@media (max-width: 980px) {
	.pj_container,
	.pkp_structure_footer {
		width: min(100% - 32px, 1440px) !important;
	}
	.pj_nav_shell {
		min-height: 74px !important;
	}
	.pj_nav_inner {
		min-height: 74px !important;
		grid-template-columns: minmax(0, 1fr) auto auto !important;
	}
	.pj_nav_logo {
		max-width: 230px !important;
	}
	.pj_nav_logo img {
		height: 55px !important;
	}
	.pj_nav_shell .pkp_site_nav_toggle {
		order: 3 !important;
	}
	.pj_nav_util {
		order: 2 !important;
	}
	.pj_main_nav {
		grid-column: 1 / -1 !important;
		order: 4 !important;
	}
	.pj_nav_shell .pj_main_nav.pkp_site_nav_menu--isOpen {
		margin: 0 -16px !important;
		padding: 10px 16px 16px !important;
		border-top: 1px solid var(--pj-line) !important;
		background: #fff !important;
		box-shadow: 0 16px 28px rgba(6, 55, 38, 0.13) !important;
	}
	.pj_platform_menu {
		display: grid !important;
		gap: 3px !important;
	}
	.pj_platform_menu > li > a {
		min-height: 48px !important;
		padding: 10px 12px !important;
		justify-content: flex-start !important;
	}
	.pj_mobile_account_menu {
		display: grid !important;
		gap: 3px !important;
		margin: 12px 0 0 !important;
		padding: 12px 0 0 !important;
		border-top: 1px solid var(--pj-line) !important;
		list-style: none !important;
	}
	.pj_mobile_account_menu a {
		display: flex !important;
		align-items: center !important;
		min-height: 46px !important;
		padding: 10px 12px !important;
		border-radius: 5px !important;
		background: #eef7f1 !important;
		color: #07553a !important;
		font-weight: 600 !important;
		text-decoration: none !important;
	}
	.pj_dropdown_menu {
		position: static !important;
		display: none !important;
		box-shadow: none !important;
	}
	.pj_has_dropdown:focus-within > .pj_dropdown_menu,
	.pj_has_dropdown:hover > .pj_dropdown_menu,
	.pj_has_dropdown.is-open > .pj_dropdown_menu {
		display: block !important;
	}
	.pj_footer_grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
	.pj_footer_brand {
		grid-column: 1 / -1 !important;
	}
	.pj_footer_system {
		grid-column: auto !important;
	}
}

@media (max-width: 600px) {
	.pj_back_to_top { inset-inline-end:16px !important; bottom:80px !important; width:44px !important; height:44px !important; }
	.pj_a11y_launcher { inset-inline-start:16px !important; inset-inline-end:auto !important; }
	.pj_user_bar {
		display: none !important;
	}
	.pj_gov_bar {
		min-height: 42px !important;
	}
	.pj_user_bar_inner {
		min-height: 44px !important;
	}
	.pj_user_bar .pkp_navigation_user {
		gap: 3px !important;
	}
	.pj_user_bar .pkp_navigation_user a {
		padding-inline: 7px !important;
		font-size: 0.82rem !important;
	}
	.pj_nav_logo {
		max-width: 175px !important;
	}
	.pj_nav_logo img {
		height: 48px !important;
	}
	.pj_nav_util {
		gap: 3px !important;
	}
	.pj_account_link {
		min-height: 38px !important;
		padding: 8px 10px !important;
		font-size: 0.8rem !important;
	}
	.pj_lang_link {
		font-size: 0.85rem !important;
	}
	.pj_footer_grid {
		grid-template-columns: 1fr !important;
	}
	.pj_footer_brand,
	.pj_footer_system {
		grid-column: auto !important;
	}
	.pkp_structure_footer_wrapper {
		margin-top: 48px !important;
	}
	.pkp_structure_footer {
		padding-top: 44px !important;
	}
	.pj_footer_grid {
		padding-bottom: 34px !important;
	}
	.pj_footer_bottom {
		align-items: flex-start !important;
		flex-direction: column !important;
		justify-content: center !important;
		padding-block: 18px !important;
	}
}

.pj_footer_social {
	margin-top: 28px !important;
}

.pj_footer_social h3 {
	margin: 0 0 14px !important;
	padding: 0 !important;
	border: 0 !important;
	font-size: 1rem !important;
}

.pj_footer_social_links {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
}

.pj_footer_social_links a {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 36px !important;
	height: 36px !important;
	border: 1px solid rgba(255, 255, 255, 0.4) !important;
	border-radius: 5px !important;
	background: transparent !important;
	transition: background-color 160ms ease, border-color 160ms ease !important;
}

.pj_footer_social_links a::after {
	content: none !important;
}

.pj_footer_social_links a:hover,
.pj_footer_social_links a:focus-visible {
	border-color: #fff !important;
	background: rgba(255, 255, 255, 0.18) !important;
}

.pj_footer_social_links img {
	display: block !important;
	width: 18px !important;
	height: 18px !important;
	object-fit: contain !important;
	filter: brightness(0) invert(1) !important;
}

.pj_footer_legal {
	display: flex !important;
	align-items: center !important;
	flex-wrap: wrap !important;
	gap: 12px !important;
}

.pj_footer_legal a {
	color: #d6e8de !important;
	text-decoration: underline !important;
	text-underline-offset: 3px !important;
}

.pj_footer_legal a:hover,
.pj_footer_legal a:focus-visible {
	color: #fff !important;
}
